mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-13 19:51:49 +08:00
Splitter: 全局限制内存使用量,防止内存溢出
This commit is contained in:
@@ -13,9 +13,16 @@
|
||||
#include "Util/util.h"
|
||||
using namespace toolkit;
|
||||
|
||||
//协议解析最大缓存1兆数据
|
||||
static constexpr size_t kMaxCacheSize = 1 * 1024 * 1024;
|
||||
|
||||
namespace mediakit {
|
||||
|
||||
void HttpRequestSplitter::input(const char *data,size_t len) {
|
||||
if (remainDataSize() > kMaxCacheSize) {
|
||||
//缓存太多数据无法处理则上抛异常
|
||||
throw std::out_of_range("remain data size is too huge:" + to_string(remainDataSize()));
|
||||
}
|
||||
const char *ptr = data;
|
||||
if(!_remain_data.empty()){
|
||||
_remain_data.append(data,len);
|
||||
|
||||
Reference in New Issue
Block a user