From fb33e6b84719746d22938e2e79c57b5954f63fa4 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Sat, 25 Jun 2016 23:40:57 +0200 Subject: receive_data : use some ring buffer to batch recv, reorder, validate --- mcastseed/src/dgrambuf.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 mcastseed/src/dgrambuf.h (limited to 'mcastseed/src/dgrambuf.h') 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 + */ +#include /* 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 */ -- cgit v1.2.3