diff options
author | Lizzy Fleckenstein <lizzy@vlhl.dev> | 2024-06-16 23:32:51 +0200 |
---|---|---|
committer | Lizzy Fleckenstein <lizzy@vlhl.dev> | 2024-06-16 23:32:55 +0200 |
commit | 35c7cf611df4c76df28d30f858987cb263a1ed1f (patch) | |
tree | cd1267839df47db8766a32338cabb92a15411057 /peer.h | |
download | silly_game-35c7cf611df4c76df28d30f858987cb263a1ed1f.tar.xz |
init
Diffstat (limited to 'peer.h')
-rw-r--r-- | peer.h | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -0,0 +1,36 @@ +#ifndef PEER_H +#define PEER_H + +#include <stdint.h> +#include <stdbool.h> +#include <stddef.h> + +#define PEER_INBUFFER_SIZE 0x100000 // 1MB +#define PEER_OUTBUFFER_SIZE 0x200000 // 2MB + +typedef uint32_t pkt_header; + +typedef struct { + int socket; + bool disco; + struct { + bool header; + size_t len; + size_t promised; + uint8_t *buffer; + } in; + // TODO: ring buffer + struct { + size_t avail; + size_t cursor; + uint8_t *buffer; + } out; +} peer; + +void peer_init(peer *p, int socket); +void peer_free(peer *p); +short peer_prepare(peer *p); +bool peer_ready(peer *p, short revents); +bool peer_send(peer *p, uint8_t *data, size_t len); + +#endif |