/* recv stream to a edp packet (S->C) */ EdpPacket* GetEdpPacket(RecvBuffer* buf) { EdpPacket* pkg = NULL; int32_t flag = 0; flag = IsPkgComplete(buf); if (flag <= 0) { printf("%s flag<=0\n", __func__); return pkg; } pkg = NewBuffer(); WriteBytes(pkg, buf->_data, flag); /* shrink buffer */ memmove(buf->_data, buf->_data + flag, buf->_write_pos - flag); buf->_write_pos -= flag; return pkg; }
/* recv stream to a edp packet (S->C) */ EdpPacket* GetEdpPacket(RecvBuffer* buf) { //assert(buf->_read_pos == 0); EdpPacket* pkg = 0; int32 flag = IsPkgComplete(buf); if (flag <= 0) { return pkg; } pkg = NewBuffer(); WriteBytes(pkg, buf->_data, flag); /* shrink buffer */ mymemmove(buf->_data, buf->_data + flag, buf->_write_pos - flag); buf->_write_pos -= flag; return pkg; }