Reduced memory consumption on network level.
This commit is contained in:
parent
bb96684daf
commit
1b875fdabb
17 changed files with 462 additions and 205 deletions
|
@ -29,6 +29,7 @@
|
|||
#include "base/io/log/Log.h"
|
||||
#include "base/kernel/Platform.h"
|
||||
#include "base/net/dns/Dns.h"
|
||||
#include "base/net/tools/NetBuffer.h"
|
||||
|
||||
|
||||
#include <sstream>
|
||||
|
@ -142,12 +143,7 @@ void xmrig::HttpClient::onConnect(uv_connect_t *req, int status)
|
|||
return;
|
||||
}
|
||||
|
||||
uv_read_start(client->stream(),
|
||||
[](uv_handle_t *, size_t suggested_size, uv_buf_t *buf)
|
||||
{
|
||||
buf->base = new char[suggested_size];
|
||||
buf->len = suggested_size;
|
||||
},
|
||||
uv_read_start(client->stream(), NetBuffer::onAlloc,
|
||||
[](uv_stream_t *tcp, ssize_t nread, const uv_buf_t *buf)
|
||||
{
|
||||
auto client = static_cast<HttpClient*>(tcp->data);
|
||||
|
@ -162,7 +158,7 @@ void xmrig::HttpClient::onConnect(uv_connect_t *req, int status)
|
|||
client->close(static_cast<int>(nread));
|
||||
}
|
||||
|
||||
delete [] buf->base;
|
||||
NetBuffer::release(buf);
|
||||
});
|
||||
|
||||
client->handshake();
|
||||
|
|
|
@ -30,9 +30,8 @@
|
|||
|
||||
#include "base/net/http/HttpServer.h"
|
||||
#include "3rdparty/http-parser/http_parser.h"
|
||||
#include "base/kernel/interfaces/IHttpListener.h"
|
||||
#include "base/net/http/HttpContext.h"
|
||||
#include "base/net/http/HttpResponse.h"
|
||||
#include "base/net/tools/NetBuffer.h"
|
||||
|
||||
|
||||
xmrig::HttpServer::HttpServer(const std::shared_ptr<IHttpListener> &listener) :
|
||||
|
@ -52,12 +51,7 @@ void xmrig::HttpServer::onConnection(uv_stream_t *stream, uint16_t)
|
|||
auto ctx = new HttpContext(HTTP_REQUEST, m_listener);
|
||||
uv_accept(stream, ctx->stream());
|
||||
|
||||
uv_read_start(ctx->stream(),
|
||||
[](uv_handle_t *, size_t suggested_size, uv_buf_t *buf)
|
||||
{
|
||||
buf->base = new char[suggested_size];
|
||||
buf->len = suggested_size;
|
||||
},
|
||||
uv_read_start(ctx->stream(), NetBuffer::onAlloc,
|
||||
[](uv_stream_t *tcp, ssize_t nread, const uv_buf_t *buf)
|
||||
{
|
||||
auto ctx = static_cast<HttpContext*>(tcp->data);
|
||||
|
@ -73,6 +67,6 @@ void xmrig::HttpServer::onConnection(uv_stream_t *stream, uint16_t)
|
|||
ctx->close();
|
||||
}
|
||||
|
||||
delete [] buf->base;
|
||||
NetBuffer::release(buf);
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue