]> git.kaiwu.me - haproxy.git/commitdiff
MINOR: hldstream: add definition of hldstream struct objects
authorFrederic Lecaille <flecaille@haproxy.com>
Thu, 19 Mar 2026 13:36:21 +0000 (14:36 +0100)
committerFrederic Lecaille <flecaille@haproxy.com>
Fri, 24 Apr 2026 09:32:45 +0000 (11:32 +0200)
haload is a client-side HTTP benchmarking tool designed to manage
concurrent HTTP streams.

This patch defines the hldstream C structure, which serves as the
core object to represent a haload HTTP stream for all the HTTP protocol.
It will be used by the upcoming haload module to handle specialized
stream contexts.

include/haproxy/hldstream-t.h [new file with mode: 0644]

diff --git a/include/haproxy/hldstream-t.h b/include/haproxy/hldstream-t.h
new file mode 100644 (file)
index 0000000..6c445b0
--- /dev/null
@@ -0,0 +1,29 @@
+#ifndef _HAPROXY_HDLSTREAM_T_H
+#define _HAPROXY_HDLSTREAM_T_H
+
+#include <haproxy/buf-t.h>
+#include <haproxy/connection-t.h>
+#include <haproxy/dynbuf-t.h>
+#include <haproxy/obj_type-t.h>
+#include <haproxy/session-t.h>
+#include <haproxy/stconn-t.h>
+#include <haproxy/task-t.h>
+
+struct hldstream {
+       enum obj_type obj_type;
+       struct connection *conn;
+       int64_t hash;
+       struct hld_usr *usr;
+       struct hld_url *url;
+       const char *path;
+       struct stconn *sc;
+       struct buffer bi, bo;
+       struct buffer_wait buf_wait; /* wait list for buffer allocation */
+       struct task *task;
+       int flags;
+       int state;
+       unsigned long long to_send; /* number of body data bytes to send */
+       struct list list;
+};
+
+#endif /* _HAPROXY_HDLSTREAM_T_H */