1
0
mirror of https://github.com/xmrig/xmrig.git synced 2025-12-13 10:02:50 -05:00

Benchmark refactoring, zero delay submit and unified HTTP layer.

This commit is contained in:
XMRig
2020-11-16 16:22:34 +07:00
parent be8245fc92
commit c1d99bfa09
21 changed files with 558 additions and 380 deletions

View File

@@ -119,6 +119,7 @@ namespace xmrig {
class AsyncPrivate
{
public:
Async::Callback callback;
IAsyncListener *listener = nullptr;
uv_async_t *async = nullptr;
};
@@ -127,6 +128,16 @@ public:
} // namespace xmrig
xmrig::Async::Async(Callback callback) : d_ptr(new AsyncPrivate())
{
d_ptr->callback = std::move(callback);
d_ptr->async = new uv_async_t;
d_ptr->async->data = this;
uv_async_init(uv_default_loop(), d_ptr->async, [](uv_async_t *handle) { static_cast<Async *>(handle->data)->d_ptr->callback(); });
}
xmrig::Async::Async(IAsyncListener *listener) : d_ptr(new AsyncPrivate())
{
d_ptr->listener = listener;