mirror of
https://github.com/cesanta/mongoose.git
synced 2024-12-04 09:49:01 +08:00
32 lines
808 B
Markdown
32 lines
808 B
Markdown
|
---
|
||
|
title: "mg_set_timer()"
|
||
|
decl_name: "mg_set_timer"
|
||
|
symbol_kind: "func"
|
||
|
signature: |
|
||
|
double mg_set_timer(struct mg_connection *c, double timestamp);
|
||
|
---
|
||
|
|
||
|
Schedules an MG_EV_TIMER event to be delivered at `timestamp` time.
|
||
|
`timestamp` is UNIX time (the number of seconds since Epoch). It is
|
||
|
`double` instead of `time_t` to allow for sub-second precision.
|
||
|
Returns the old timer value.
|
||
|
|
||
|
Example: set the connect timeout to 1.5 seconds:
|
||
|
|
||
|
```
|
||
|
c = mg_connect(&mgr, "cesanta.com", ev_handler);
|
||
|
mg_set_timer(c, mg_time() + 1.5);
|
||
|
...
|
||
|
|
||
|
void ev_handler(struct mg_connection *c, int ev, void *ev_data) {
|
||
|
switch (ev) {
|
||
|
case MG_EV_CONNECT:
|
||
|
mg_set_timer(c, 0); // Clear connect timer
|
||
|
break;
|
||
|
case MG_EV_TIMER:
|
||
|
log("Connect timeout");
|
||
|
c->flags |= MG_F_CLOSE_IMMEDIATELY;
|
||
|
break;
|
||
|
```
|
||
|
|