diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2016-06-25 23:40:57 +0200 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2016-06-25 23:40:57 +0200 |
commit | fb33e6b84719746d22938e2e79c57b5954f63fa4 (patch) | |
tree | 56e95a641ad7e166d4046c42350e3a7517cb1fb3 /mcastseed/src/dgrambuf.h | |
parent | fdcb963675c1e2e22a3c6e868e6f77de7fcb06a2 (diff) | |
download | eficast-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.h | 22 |
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 */ |