diff options
author | Anton Samokhvalov <pg83@yandex.ru> | 2022-02-10 16:45:17 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:17 +0300 |
commit | d3a398281c6fd1d3672036cb2d63f842d2cb28c5 (patch) | |
tree | dd4bd3ca0f36b817e96812825ffaf10d645803f2 /util/network/poller.cpp | |
parent | 72cb13b4aff9bc9cf22e49251bc8fd143f82538f (diff) | |
download | ydb-d3a398281c6fd1d3672036cb2d63f842d2cb28c5.tar.gz |
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2.
Diffstat (limited to 'util/network/poller.cpp')
-rw-r--r-- | util/network/poller.cpp | 114 |
1 files changed, 57 insertions, 57 deletions
diff --git a/util/network/poller.cpp b/util/network/poller.cpp index 76f9c1d517..7954d0e8b5 100644 --- a/util/network/poller.cpp +++ b/util/network/poller.cpp @@ -1,54 +1,54 @@ -#include "poller.h" -#include "pollerimpl.h" - -#include <util/memory/tempbuf.h> - -namespace { - struct TMutexLocking { +#include "poller.h" +#include "pollerimpl.h" + +#include <util/memory/tempbuf.h> + +namespace { + struct TMutexLocking { using TMyMutex = TMutex; - }; -} - -class TSocketPoller::TImpl: public TPollerImpl<TMutexLocking> { -public: - inline size_t DoWaitReal(void** ev, TEvent* events, size_t len, const TInstant& deadLine) { - const size_t ret = WaitD(events, len, deadLine); - - for (size_t i = 0; i < ret; ++i) { - ev[i] = ExtractEvent(&events[i]); + }; +} + +class TSocketPoller::TImpl: public TPollerImpl<TMutexLocking> { +public: + inline size_t DoWaitReal(void** ev, TEvent* events, size_t len, const TInstant& deadLine) { + const size_t ret = WaitD(events, len, deadLine); + + for (size_t i = 0; i < ret; ++i) { + ev[i] = ExtractEvent(&events[i]); } - - return ret; - } - - inline size_t DoWait(void** ev, size_t len, const TInstant& deadLine) { - if (len == 1) { - TEvent tmp; - - return DoWaitReal(ev, &tmp, 1, deadLine); - } else { - TTempArray<TEvent> tmpEvents(len); - - return DoWaitReal(ev, tmpEvents.Data(), len, deadLine); - } - } -}; - -TSocketPoller::TSocketPoller() - : Impl_(new TImpl()) -{ -} - + + return ret; + } + + inline size_t DoWait(void** ev, size_t len, const TInstant& deadLine) { + if (len == 1) { + TEvent tmp; + + return DoWaitReal(ev, &tmp, 1, deadLine); + } else { + TTempArray<TEvent> tmpEvents(len); + + return DoWaitReal(ev, tmpEvents.Data(), len, deadLine); + } + } +}; + +TSocketPoller::TSocketPoller() + : Impl_(new TImpl()) +{ +} + TSocketPoller::~TSocketPoller() = default; - -void TSocketPoller::WaitRead(SOCKET sock, void* cookie) { - Impl_->Set(cookie, sock, CONT_POLL_READ); -} - -void TSocketPoller::WaitWrite(SOCKET sock, void* cookie) { - Impl_->Set(cookie, sock, CONT_POLL_WRITE); -} - + +void TSocketPoller::WaitRead(SOCKET sock, void* cookie) { + Impl_->Set(cookie, sock, CONT_POLL_READ); +} + +void TSocketPoller::WaitWrite(SOCKET sock, void* cookie) { + Impl_->Set(cookie, sock, CONT_POLL_WRITE); +} + void TSocketPoller::WaitReadWrite(SOCKET sock, void* cookie) { Impl_->Set(cookie, sock, CONT_POLL_READ | CONT_POLL_WRITE); } @@ -70,17 +70,17 @@ void TSocketPoller::WaitReadWriteOneShot(SOCKET sock, void* cookie) { } void TSocketPoller::WaitReadWriteEdgeTriggered(SOCKET sock, void* cookie) { - Impl_->Set(cookie, sock, CONT_POLL_READ | CONT_POLL_WRITE | CONT_POLL_EDGE_TRIGGERED); + Impl_->Set(cookie, sock, CONT_POLL_READ | CONT_POLL_WRITE | CONT_POLL_EDGE_TRIGGERED); } void TSocketPoller::RestartReadWriteEdgeTriggered(SOCKET sock, void* cookie, bool empty) { - Impl_->Set(cookie, sock, CONT_POLL_READ | CONT_POLL_WRITE | CONT_POLL_MODIFY | CONT_POLL_EDGE_TRIGGERED | (empty ? CONT_POLL_BACKLOG_EMPTY : 0)); + Impl_->Set(cookie, sock, CONT_POLL_READ | CONT_POLL_WRITE | CONT_POLL_MODIFY | CONT_POLL_EDGE_TRIGGERED | (empty ? CONT_POLL_BACKLOG_EMPTY : 0)); } -void TSocketPoller::Unwait(SOCKET sock) { - Impl_->Remove(sock); -} - -size_t TSocketPoller::WaitD(void** ev, size_t len, const TInstant& deadLine) { - return Impl_->DoWait(ev, len, deadLine); -} +void TSocketPoller::Unwait(SOCKET sock) { + Impl_->Remove(sock); +} + +size_t TSocketPoller::WaitD(void** ev, size_t len, const TInstant& deadLine) { + return Impl_->DoWait(ev, len, deadLine); +} |