Lines Matching refs:adreq

89 static TAILQ_HEAD(, adreq) adist_free_list;
92 static TAILQ_HEAD(, adreq) adist_send_list;
95 static TAILQ_HEAD(, adreq) adist_recv_list;
102 struct adreq *adreq;
119 adreq = malloc(sizeof(*adreq) + ADIST_BUF_SIZE);
120 if (adreq == NULL) {
122 "Unable to allocate %zu bytes of memory for adreq object.",
123 sizeof(*adreq) + ADIST_BUF_SIZE);
125 adreq->adr_byteorder = ADIST_BYTEORDER;
126 adreq->adr_cmd = ADIST_CMD_UNDEFINED;
127 adreq->adr_seq = 0;
128 adreq->adr_datasize = 0;
129 TAILQ_INSERT_TAIL(&adist_free_list, adreq, adr_next);
356 adreq_fill(struct adreq *adreq, uint8_t cmd, const unsigned char *data,
380 adreq->adr_cmd = cmd;
381 adreq->adr_seq = seq++;
382 adreq->adr_datasize = size;
384 if (data != NULL && data != adreq->adr_data)
385 bcopy(data, adreq->adr_data, size);
433 struct adreq *adreq;
441 QUEUE_TAKE(adreq, &adist_free_list, 0);
443 adreq_fill(adreq, ADIST_CMD_OPEN,
449 done = read(trail_filefd(adist_trail), adreq->adr_data,
463 adreq_fill(adreq, ADIST_CMD_ERROR, NULL, 0);
472 TAILQ_INSERT_TAIL(&adist_free_list, adreq,
478 adreq_fill(adreq, ADIST_CMD_CLOSE,
484 adreq_fill(adreq, ADIST_CMD_APPEND, adreq->adr_data, done);
488 adreq, adreq->adr_cmd);
489 QUEUE_INSERT(adreq, &adist_send_list);
498 struct adreq *adreq;
508 adreq = TAILQ_FIRST(&adist_free_list);
509 if (adreq != NULL)
510 TAILQ_REMOVE(&adist_free_list, adreq, adr_next);
512 if (adreq == NULL)
515 adreq_fill(adreq, ADIST_CMD_KEEPALIVE, NULL, 0);
517 QUEUE_INSERT(adreq, &adist_send_list);
529 struct adreq *adreq;
538 QUEUE_TAKE(adreq, &adist_send_list, ADIST_KEEPALIVE);
539 if (adreq != NULL)
547 PJDLOG_ASSERT(adreq != NULL);
548 pjdlog_debug(3, "send thread: (%p) Got request %hhu.", adreq,
549 adreq->adr_cmd);
559 QUEUE_INSERT(adreq, &adist_recv_list);
561 proto_send(adhost->adh_remote, &adreq->adr_packet,
562 ADPKT_SIZE(adreq)) == -1) {
565 "send thread: (%p) Unable to send request.", adreq);
570 pjdlog_debug(3, "Request %p sent successfully.", adreq);
571 adreq_log(LOG_DEBUG, 2, -1, adreq,
572 "send: (%p) Request sent: ", adreq);
600 struct adreq *adreq;
630 TAILQ_FOREACH(adreq, &adist_recv_list, adr_next) {
631 if (adreq->adr_seq == adrep.adrp_seq) {
632 TAILQ_REMOVE(&adist_recv_list, adreq,
637 if (adreq == NULL) {
654 adreq_log(LOG_DEBUG, 2, -1, adreq,
655 "recv thread: (%p) Request confirmed: ", adreq);
656 pjdlog_debug(3, "recv thread: (%p) Got request %hhu.", adreq,
657 adreq->adr_cmd);
664 if (adreq->adr_cmd == ADIST_CMD_CLOSE)
665 trail_unlink(adist_trail, adreq->adr_data);
667 QUEUE_INSERT(adreq, &adist_free_list);