Lines Matching defs:qstate

228 	struct query_state	*qstate;
252 qstate = init_query_state(fd, sizeof(int), euid, egid);
253 if (qstate == NULL) {
261 0, qstate->timeout.tv_sec * 1000, qstate);
263 NOTE_LOWAT, qstate->kevent_watermark, qstate);
281 struct query_state *qstate;
304 qstate = (struct query_state *)event_data->udata;
314 if (((qstate->use_alternate_io == 0) &&
315 (qstate->kevent_watermark <= (size_t)event_data->data)) ||
316 ((qstate->use_alternate_io != 0) &&
317 (qstate->io_buffer_watermark <= (size_t)event_data->data))) {
318 if (qstate->use_alternate_io != 0) {
319 switch (qstate->io_buffer_filter) {
321 io_res = query_socket_read(qstate,
322 qstate->io_buffer_p,
323 qstate->io_buffer_watermark);
325 qstate->use_alternate_io = 0;
326 qstate->process_func = NULL;
328 qstate->io_buffer_p += io_res;
329 if (qstate->io_buffer_p ==
330 qstate->io_buffer +
331 qstate->io_buffer_size) {
332 qstate->io_buffer_p =
333 qstate->io_buffer;
334 qstate->use_alternate_io = 0;
343 if (qstate->use_alternate_io == 0) {
345 res = qstate->process_func(qstate);
346 } while ((qstate->kevent_watermark == 0) &&
347 (qstate->process_func != NULL) &&
351 qstate->process_func = NULL;
354 if ((qstate->use_alternate_io != 0) &&
355 (qstate->io_buffer_filter == EVFILT_WRITE)) {
356 io_res = query_socket_write(qstate, qstate->io_buffer_p,
357 qstate->io_buffer_watermark);
359 qstate->use_alternate_io = 0;
360 qstate->process_func = NULL;
362 qstate->io_buffer_p += io_res;
366 qstate->process_func = NULL;
367 qstate->use_alternate_io = 0;
370 if (((qstate->process_func == NULL) &&
371 (qstate->use_alternate_io == 0)) ||
373 destroy_query_state(qstate);
382 query_timeout.tv_sec -= qstate->creation_time.tv_sec;
383 if (query_timeout.tv_sec > qstate->timeout.tv_sec)
386 query_timeout.tv_sec = qstate->timeout.tv_sec -
389 if ((qstate->use_alternate_io != 0) && (qstate->io_buffer_p ==
390 qstate->io_buffer + qstate->io_buffer_size))
391 qstate->use_alternate_io = 0;
393 if (qstate->use_alternate_io == 0) {
403 if (qstate->kevent_watermark > MAX_SOCKET_IO_SIZE) {
410 if (qstate->io_buffer != NULL)
411 free(qstate->io_buffer);
413 qstate->io_buffer = calloc(1,
414 qstate->kevent_watermark);
415 assert(qstate->io_buffer != NULL);
417 qstate->io_buffer_p = qstate->io_buffer;
418 qstate->io_buffer_size = qstate->kevent_watermark;
419 qstate->io_buffer_filter = qstate->kevent_filter;
421 qstate->write_func = query_io_buffer_write;
422 qstate->read_func = query_io_buffer_read;
424 if (qstate->kevent_filter == EVFILT_READ)
425 qstate->use_alternate_io = 1;
428 qstate->io_buffer_watermark = MAX_SOCKET_IO_SIZE;
430 qstate->kevent_filter, EV_ADD | EV_ONESHOT,
431 NOTE_LOWAT, MAX_SOCKET_IO_SIZE, qstate);
434 qstate->kevent_filter, EV_ADD | EV_ONESHOT,
435 NOTE_LOWAT, qstate->kevent_watermark, qstate);
438 if (qstate->io_buffer + qstate->io_buffer_size -
439 qstate->io_buffer_p <
441 qstate->io_buffer_watermark = qstate->io_buffer +
442 qstate->io_buffer_size - qstate->io_buffer_p;
444 qstate->io_buffer_filter,
446 qstate->io_buffer_watermark,
447 qstate);
449 qstate->io_buffer_watermark = MAX_SOCKET_IO_SIZE;
451 qstate->io_buffer_filter, EV_ADD | EV_ONESHOT,
452 NOTE_LOWAT, MAX_SOCKET_IO_SIZE, qstate);
456 EV_ADD | EV_ONESHOT, 0, query_timeout.tv_sec * 1000, qstate);
470 struct query_state *qstate;
473 qstate = (struct query_state *)event_data->udata;
474 destroy_query_state(qstate);