aboutsummaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-03-10 14:50:45 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-03-10 14:50:45 +0000
commit327d253a06da5688d696a4f17f8c74cafe114fda (patch)
tree14653a1a2c136cd7c686d18d92b33610a50613e4 /src/include
parent209f4ee81fa0d0df1c60bb8ea65a06c6287abd6d (diff)
downloadskalibs-327d253a06da5688d696a4f17f8c74cafe114fda.tar.gz
No global definitions for sassserver
Except for textmessage_receiver_0 and the textmessage_senders, but these are like buffer_0 and buffer_1, so.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/skalibs/sassserver.h32
1 files changed, 23 insertions, 9 deletions
diff --git a/src/include/skalibs/sassserver.h b/src/include/skalibs/sassserver.h
index f43ea4c..4294e59 100644
--- a/src/include/skalibs/sassserver.h
+++ b/src/include/skalibs/sassserver.h
@@ -8,6 +8,8 @@
#include <skalibs/tai.h>
#include <skalibs/iopause.h>
+#include <skalibs/gensetdyn.h>
+#include <skalibs/avltree.h>
typedef int sassserver_send_func (void *, uint32_t, uint32_t, uint32_t, char const *, size_t) ;
typedef sassserver_send_func *sassserver_send_func_ref ;
@@ -15,15 +17,27 @@ typedef sassserver_send_func *sassserver_send_func_ref ;
typedef void sassserver_cancel_func (void *) ;
typedef sassserver_cancel_func *sassserver_cancel_func_ref ;
-extern void sassserver_init (char const *, char const *, sassserver_send_func_ref, sassserver_cancel_func_ref, size_t, tain const *, tain *stamp) ;
-#define sassserver_init_g(banner1, banner2, sendf, cancelf, esize, deadline) sassserver_init(banner1, banner2, sendf, cancelf, esize, (deadline), &STAMP)
-extern unsigned int sassserver_prepare_iopause (iopause_fd *, tain *) ;
-extern void sassserver_timeout (void) ;
-extern int sassserver_event (iopause_fd const *) ;
-extern void *sassserver_data (uint32_t) ;
+typedef struct sassserver_s sassserver, *sassserver_ref ;
+struct sassserver_s
+{
+ sassserver_send_func_ref sendf ;
+ sassserver_cancel_func_ref cancelf ;
+ size_t datasize ;
+ gensetdyn queries ;
+ avltree by_deadline ;
+ avltree by_id ;
+} ;
+#define SASSSERVER_ZERO { .sendf = 0, .cancelf = 0, .datasize = 0, .queries = GENSETDYN_ZERO, .by_deadline = AVLTREE_ZERO, .by_id = AVLTREE_ZERO }
-extern void sassserver_async_failure (uint32_t, int) ;
-extern void sassserver_async_success (uint32_t, uint32_t, char const *, size_t) ;
-extern void sassserver_async_successv (uint32_t, uint32_t, struct iovec const *, unsigned int) ;
+extern void sassserver_init (sassserver *, char const *, char const *, sassserver_send_func_ref, sassserver_cancel_func_ref, size_t, tain const *, tain *stamp) ;
+#define sassserver_init_g(a, banner1, banner2, sendf, cancelf, esize, deadline) sassserver_init(a, banner1, banner2, sendf, cancelf, esize, (deadline), &STAMP)
+extern unsigned int sassserver_prepare_iopause (sassserver const *, iopause_fd *, tain *) ;
+extern void sassserver_timeout (sassserver *) ;
+extern int sassserver_event (sassserver *, iopause_fd const *) ;
+extern void *sassserver_data (sassserver const *, uint32_t) ;
+
+extern void sassserver_async_failure (sassserver *, uint32_t, int) ;
+extern void sassserver_async_success (sassserver *, uint32_t, uint32_t, char const *, size_t) ;
+extern void sassserver_async_successv (sassserver *, uint32_t, uint32_t, struct iovec const *, unsigned int) ;
#endif