static void session_clear(struct session *s)
{
- assert(s->is_subreq || s->tasks.len == 0);
+ assert(s->outgoing || s->tasks.len == 0);
array_clear(s->tasks);
memset(s, 0, sizeof(*s));
}
if (handle->type == UV_TCP) {
buf->len = MIN(suggested_size, 4096);
/* Regular buffer size for subrequests. */
- } else if (session->is_subreq) {
+ } else if (session->outgoing) {
buf->len = suggested_size;
/* Use recvmmsg() on master sockets if possible. */
} else {
worker_end_tcp(worker, (uv_handle_t *)handle);
/* Exceeded per-connection quota for outstanding requests
* stop reading from stream and close after last message is processed. */
- if (!s->is_subreq && !uv_is_closing((uv_handle_t *)&s->timeout)) {
+ if (!s->outgoing && !uv_is_closing((uv_handle_t *)&s->timeout)) {
uv_timer_stop(&s->timeout);
if (s->tasks.len == 0) {
uv_close((uv_handle_t *)&s->timeout, tcp_timeout);
}
}
/* Connection spawned more than one request, reset its deadline for next query. */
- } else if (ret > 0 && !s->is_subreq) {
+ } else if (ret > 0 && !s->outgoing) {
uv_timer_again(&s->timeout);
}
mp_flush(worker->pkt_pool.ctx);
io_create(task->worker->loop, handle, socktype);
/* Set current handle as a subrequest type. */
struct session *session = handle->data;
- session->is_subreq = true;
+ session->outgoing = true;
int ret = array_push(session->tasks, task);
if (ret != 0) {
io_deinit(handle);
/* Start new task on listening sockets, or resume if this is subrequest */
struct qr_task *task = NULL;
- if (!session->is_subreq) {
+ if (!session->outgoing) {
/* Ignore badly formed queries or responses. */
if (!msg || ret != 0 || knot_wire_get_qr(msg->wire)) {
if (msg) worker->stats.dropped += 1;
* because in this case session doesn't own tasks, it has just
* borrowed the task from parent session. */
struct session *session = handle->data;
- if (session->is_subreq) {
+ if (session->outgoing) {
worker_submit(worker, (uv_handle_t *)handle, NULL, NULL);
} else {
discard_buffered(session);
/* If this is a new query, create a new task that we can use
* to buffer incoming message until it's complete. */
- if (!session->is_subreq) {
+ if (!session->outgoing) {
if (!task) {
task = qr_task_create(worker, handle, NULL);
if (!task) {
task->bytes_remaining = 0;
/* Parse the packet and start resolving complete query */
int ret = parse_packet(pkt_buf);
- if (ret == 0 && !session->is_subreq) {
+ if (ret == 0 && !session->outgoing) {
ret = qr_task_start(task, pkt_buf);
if (ret != 0) {
return ret;
if (ret != 0) {
return ret;
}
- if (len - to_read > 0 && !session->is_subreq) {
+ if (len - to_read > 0 && !session->outgoing) {
ret = worker_process_tcp(worker, handle, msg + to_read, len - to_read);
if (ret < 0) {
return ret;