#pragma once #include 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, 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);