mirror of https://github.com/yandex/odyssey.git
odissey: sketch basic cancel details
This commit is contained in:
parent
e0a07477c0
commit
50335a8610
|
@ -54,6 +54,9 @@ int od_beclose(odserver_t *server)
|
|||
ft_close(server->io);
|
||||
server->io = NULL;
|
||||
}
|
||||
server->is_transaction = 0;
|
||||
server->is_ready = 0;
|
||||
server->idle_time = 0;
|
||||
od_serverfree(server);
|
||||
return 0;
|
||||
}
|
||||
|
@ -255,6 +258,12 @@ int od_bereset(odserver_t *server)
|
|||
od_serverpool_set(&route->server_pool, server,
|
||||
OD_SRESET);
|
||||
|
||||
if (! server->is_ready) {
|
||||
/* connect to server */
|
||||
/* send cancel and disconnect */
|
||||
/* wait for ready */
|
||||
}
|
||||
|
||||
/* send rollback in case if server has an active
|
||||
* transaction running */
|
||||
if (server->is_transaction) {
|
||||
|
|
|
@ -167,6 +167,10 @@ void od_router(void *arg)
|
|||
if (client->startup.is_cancel) {
|
||||
od_debug(&pooler->od->log, "C: cancel request");
|
||||
od_feclose(client);
|
||||
/* match server by client key */
|
||||
/* get real key */
|
||||
/* connect to server */
|
||||
/* send cancel and disconnect */
|
||||
return;
|
||||
}
|
||||
/* client auth */
|
||||
|
|
Loading…
Reference in New Issue