1 #ifndef __APP_RELAYBUFFER 2 #define __APP_RELAYBUFFER 3 4 #include <mtcp_api.h> 5 6 #define MAX_REP_LEN (10*1024) 7 8 typedef struct ring_buffer ring_buffer; 9 10 ring_buffer* InitBuffer(int size); 11 12 int GetTotSizeRBuffer(ring_buffer* r_buff); 13 int GetDataSizeRBuffer(ring_buffer* r_buff); 14 int GetCumSizeRBuffer(ring_buffer* r_buff); 15 int GetRemainBufferSize(ring_buffer *r_buff); 16 int CheckAvailableSize(ring_buffer *r_buff, int size); 17 18 u_char* GetDataPoint(ring_buffer* r_buff); 19 u_char* GetInputPoint(ring_buffer *r_buff); 20 21 int RemoveDataFromBuffer(ring_buffer *r_buff, int size); 22 int AddDataLen(ring_buffer *r_buffer, int size); 23 24 int CopyData(ring_buffer *dest_buff, ring_buffer *src_buff, int len); 25 int MoveData(ring_buffer *dest_buff, ring_buffer *src_buff, int len); 26 int MoveToREPData(ring_buffer *dest_buff, ring_buffer *src_buff, int len); 27 28 int MtcpWriteFromBuffer(mctx_t mtcp, int fid, ring_buffer *r_buff); 29 int MtcpReadFromBuffer(mctx_t mtcp, int fid, ring_buffer *r_buff); 30 31 #endif 32