#include <stdlib.h>
#include <string.h>
+#include <import/eb32tree.h>
+
#include <haproxy/api.h>
#include <haproxy/listener-t.h>
+#include <haproxy/proxy-t.h>
struct proxy;
struct task;
/* number of times an accepted connection resulted in maxconn being reached */
extern ullong maxconn_reached;
+/* index listener <li>'s id into proxy <px>'s used_listener_id */
+static inline void listener_index_id(struct proxy *px, struct listener *li)
+{
+ eb32_insert(&px->conf.used_listener_id, &li->conf.id);
+}
+
static inline uint accept_queue_ring_len(const struct accept_queue_ring *ring)
{
uint idx, head, tail, len;
}
next_id = listener_get_next_id(curproxy, next_id);
listener->conf.id.key = listener->luid = next_id;
- eb32_insert(&curproxy->conf.used_listener_id, &listener->conf.id);
+ listener_index_id(curproxy, listener);
}
next_id++;
tmp_li->luid = 0;
eb32_delete(&tmp_li->conf.id);
if (new_li->luid)
- eb32_insert(&fe->conf.used_listener_id, &new_li->conf.id);
+ listener_index_id(fe, new_li);
new_li = tmp_li;
}
}
li->luid = 0;
eb32_delete(&li->conf.id);
if (new_li->luid)
- eb32_insert(&fe->conf.used_listener_id, &new_li->conf.id);
+ listener_index_id(fe, new_li);
}
}
return ERR_ALERT | ERR_FATAL;
}
- eb32_insert(&px->conf.used_listener_id, &new->conf.id);
+ listener_index_id(px, new);
return 0;
}