MT#55283 use typed GQueue for homer

Change-Id: I51835527eb04c7b798420e041ef6bb876687c6f8
pull/1776/head
Richard Fuchs 2 years ago
parent edb1dd86ed
commit f4677f6b5b

@ -12,6 +12,7 @@
#include "log.h"
#include "helpers.h"
#include "str.h"
#include "types.h"
@ -21,6 +22,8 @@
TYPED_GQUEUE(gstring, GString)
struct homer_sender {
mutex_t lock;
@ -30,7 +33,7 @@ struct homer_sender {
socket_t socket;
time_t retry;
GQueue send_queue;
gstring_q send_queue;
GString *partial;
int (*state)(struct homer_sender *);
@ -120,7 +123,7 @@ static int __established(struct homer_sender *hs) {
}
// unqueue as much as we can
while ((gs = g_queue_pop_head(&hs->send_queue))) {
while ((gs = t_queue_pop_head(&hs->send_queue))) {
ilog(LOG_DEBUG, "dequeue send queue to Homer");
ret = __attempt_send(hs, gs);
if (ret == 0) // everything sent OK
@ -129,7 +132,7 @@ static int __established(struct homer_sender *hs) {
hs->partial = gs;
return 0;
}
g_queue_push_head(&hs->send_queue, gs);
t_queue_push_head(&hs->send_queue, gs);
if (ret == 1) // write error
return -1;
// ret == 2 -> blocked
@ -222,7 +225,7 @@ int homer_send(GString *s, const str *id, const endpoint_t *src,
mutex_lock(&main_homer_sender->lock);
if (main_homer_sender->send_queue.length < SEND_QUEUE_LIMIT) {
g_queue_push_tail(&main_homer_sender->send_queue, s);
t_queue_push_tail(&main_homer_sender->send_queue, s);
s = NULL;
}
else

Loading…
Cancel
Save