following keywords are supported :
- messages
- option var-prefix
- - timeout hello|idle|ack|processing
+ - timeout hello|idle|processing
- use-backend
for existing ones.
-timeout ack <timeout>
- Set the maximum time to wait for an agent to receive the acknowledgement to a
- NOTIFY frame. It is applied on the stream that handle the connection with the
- agent.
-
- Arguments :
- <timeout> is the timeout value specified in milliseconds by default, but
- can be in any other unit if the number is suffixed by the unit,
- as explained at the top of this document.
-
-
timeout hello <timeout>
Set the maximum time to wait for an agent to receive the AGENT-HELLO frame.
It is applied on the stream that handle the connection with the agent.
option var-prefix iprep
- timeout hello 2s
- timeout ack 10ms
- timeout idle 2m
+ timeout hello 2s
+ timeout idle 2m
+ timeout processing 10ms
use-backend iprep-servers
struct {
unsigned int hello; /* Max time to receive AGENT-HELLO frame (in SPOE applet) */
unsigned int idle; /* Max Idle timeout (in SPOE applet) */
- unsigned int ack; /* Max time to acknowledge a NOTIFY frame (in SPOE applet)*/
unsigned int processing; /* Max time to process an event (in the main stream) */
} timeout;
else if (!ret)
goto full;
ctx->state = SPOE_CTX_ST_WAITING_ACK;
- APPCTX_SPOE(appctx).task->expire = tick_add_ifset(now_ms, agent->timeout.ack);
+ APPCTX_SPOE(appctx).task->expire = tick_add_ifset(now_ms, agent->timeout.idle);
}
skip_notify_frame:
__FUNCTION__, appctx, spoe_status_code,
spoe_frm_err_reasons[spoe_status_code]);
- APPCTX_SPOE(appctx).task->expire = tick_add_ifset(now_ms, agent->timeout.ack);
+ APPCTX_SPOE(appctx).task->expire = tick_add_ifset(now_ms, agent->timeout.idle);
appctx->st0 = SPOE_APPCTX_ST_DISCONNECTING;
/* fall through */
curagent->conf.file = strdup(file);
curagent->conf.line = linenum;
curagent->timeout.hello = TICK_ETERNITY;
- curagent->timeout.ack = TICK_ETERNITY;
curagent->timeout.idle = TICK_ETERNITY;
curagent->timeout.processing = TICK_ETERNITY;
curagent->var_pfx = NULL;
tv = &curagent->timeout.hello;
else if (!strcmp(args[1], "idle"))
tv = &curagent->timeout.idle;
- else if (!strcmp(args[1], "ack"))
- tv = &curagent->timeout.ack;
else if (!strcmp(args[1], "processing"))
tv = &curagent->timeout.processing;
else {
- Alert("parsing [%s:%d] : 'timeout' supports 'connect', 'idle', 'ack' or 'processing' (got %s).\n",
+ Alert("parsing [%s:%d] : 'timeout' supports 'connect', 'idle' or 'processing' (got %s).\n",
file, linenum, args[1]);
err_code |= ERR_ALERT | ERR_FATAL;
goto out;
}
if (curagent->timeout.hello == TICK_ETERNITY ||
curagent->timeout.idle == TICK_ETERNITY ||
- curagent->timeout.ack == TICK_ETERNITY ||
curagent->timeout.processing == TICK_ETERNITY) {
- if (curagent->timeout.ack == TICK_ETERNITY)
- curagent->timeout.ack = curagent->timeout.idle;
-
Warning("Proxy '%s': missing timeouts for SPOE agent '%s' declare at %s:%d.\n"
" | While not properly invalid, you will certainly encounter various problems\n"
" | with such a configuration. To fix this, please ensure that all following\n"
- " | timeouts are set to a non-zero value: 'hello', 'idle', 'ack', 'processing'.\n",
+ " | timeouts are set to a non-zero value: 'hello', 'idle', 'processing'.\n",
px->id, curagent->id, curagent->conf.file, curagent->conf.line);
}
if (curagent->var_pfx == NULL) {