summaryrefslogtreecommitdiff
path: root/mcastseed/src/dgrambuf.h
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2016-06-25 23:40:57 +0200
committerLudovic Pouzenc <ludovic@pouzenc.fr>2016-06-25 23:40:57 +0200
commitfb33e6b84719746d22938e2e79c57b5954f63fa4 (patch)
tree56e95a641ad7e166d4046c42350e3a7517cb1fb3 /mcastseed/src/dgrambuf.h
parentfdcb963675c1e2e22a3c6e868e6f77de7fcb06a2 (diff)
downloadeficast-fb33e6b84719746d22938e2e79c57b5954f63fa4.tar.gz
eficast-fb33e6b84719746d22938e2e79c57b5954f63fa4.tar.bz2
eficast-fb33e6b84719746d22938e2e79c57b5954f63fa4.zip
receive_data : use some ring buffer to batch recv, reorder, validate
Diffstat (limited to 'mcastseed/src/dgrambuf.h')
-rw-r--r--mcastseed/src/dgrambuf.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/mcastseed/src/dgrambuf.h b/mcastseed/src/dgrambuf.h
new file mode 100644
index 0000000..c515b8d
--- /dev/null
+++ b/mcastseed/src/dgrambuf.h
@@ -0,0 +1,22 @@
+#ifndef DGRAMBUF_H
+#define DGRAMBUF_H
+/*
+ * dgrambuf.c - C datagrams buffer.
+ *
+ * Copyright 2016 by Ludovic Pouzenc <ludovic@pouzenc.fr>
+ */
+#include <stdlib.h> /* size_t */
+
+typedef struct dgrambuf_t *dgrambuf_t;
+
+dgrambuf_t dgrambuf_new(size_t dgram_count, size_t dgram_max_size);
+void dgrambuf_free(dgrambuf_t *dbuf);
+
+size_t dgrambuf_free_count(const dgrambuf_t);
+void dgrambuf_set_validate_func(dgrambuf_t dbuf, unsigned int (*func)(unsigned int, void *) );
+
+
+int dgrambuf_recvmmsg(dgrambuf_t dbuf, int sockfd);
+ssize_t dgrambuf_write(dgrambuf_t dbuf, int fd);
+
+#endif /* DGRAMBUF_H */