odissey: support extended query

This commit is contained in:
Dmitry Simonenko 2017-08-30 17:53:16 +03:00
parent 3e6b4c6157
commit 782274ebf1
1 changed files with 19 additions and 0 deletions

View File

@ -361,6 +361,25 @@ od_frontend_remote(od_client_t *client)
od_server_stat_request(server);
od_server_stat_recv_client(server, shapito_stream_used(stream));
/* extended query case */
/* Parse */
if (type == 'P')
{
for (;;) {
rc = od_read(client->io, stream, UINT32_MAX);
if (rc == -1)
return OD_RS_ECLIENT_READ;
offset = rc;
type = stream->start[offset];
od_debug_client(&instance->logger, &client->id, "extended",
"%c", type);
/* Sync */
if (type == 'S')
break;
}
}
rc = od_write(server->io, stream);
if (rc == -1)
return OD_RS_ESERVER_WRITE;