减少内存拷贝,提高websocket服务器性能

This commit is contained in:
xiongziliang
2019-08-13 12:00:21 +08:00
parent 0931d82a2a
commit 453994f26b
5 changed files with 24 additions and 27 deletions

View File

@@ -31,8 +31,10 @@
#include <string>
#include <vector>
#include <memory>
using namespace std;
#include "Network/Buffer.h"
using namespace std;
using namespace toolkit;
namespace mediakit {
@@ -85,12 +87,10 @@ public:
/**
* 编码一个数据包
* 将触发2次onWebSocketEncodeData回调
* 第一次是数据头,第二次是负载数据
* @param header 数据头
* @param data 负载数据
* @param len 负载数据长度
* @param buffer 负载数据
*/
void encode(const WebSocketHeader &header,uint8_t *data,const uint64_t len);
void encode(const WebSocketHeader &header,const Buffer::Ptr &buffer);
protected:
/**
* 收到一个webSocket数据包包头后续将继续触发onWebSocketDecodePlayload回调
@@ -119,7 +119,7 @@ protected:
* @param ptr 数据指针
* @param len 数据指针长度
*/
virtual void onWebSocketEncodeData(const uint8_t *ptr,uint64_t len){};
virtual void onWebSocketEncodeData(const Buffer::Ptr &buffer){};
private:
void onPlayloadData(uint8_t *data,uint64_t len);
private: