tildefriends/src/packetstream.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

27 lines
874 B
C
Raw Normal View History

#pragma once
/**
** \defgroup packetstream Packet Stream
** Primitive helper for sending packets of known size across a pipe.
** @{
*/
#include <stddef.h>
typedef struct uv_pipe_s uv_pipe_t;
typedef struct _tf_packetstream_t tf_packetstream_t;
typedef void(tf_packetstream_onreceive_t)(int packet_type, const char* begin, size_t length, void* user_data);
tf_packetstream_t* tf_packetstream_create();
void tf_packetstream_destroy(tf_packetstream_t* stream);
void tf_packetstream_start(tf_packetstream_t* stream);
void tf_packetstream_send(tf_packetstream_t* stream, int packet_type, const char* begin, size_t length);
void tf_packetstream_set_on_receive(tf_packetstream_t* stream, tf_packetstream_onreceive_t* callback, void* user_data);
void tf_packetstream_close(tf_packetstream_t* stream);
uv_pipe_t* tf_packetstream_get_pipe(tf_packetstream_t* stream);
/** @} */