event/MultiSocketMonitor: add "noexcept"
This commit is contained in:
@@ -52,30 +52,30 @@ class MultiSocketMonitor : IdleMonitor
|
||||
|
||||
public:
|
||||
SingleFD(MultiSocketMonitor &_multi, SocketDescriptor _fd,
|
||||
unsigned events)
|
||||
unsigned events) noexcept
|
||||
:SocketMonitor(_fd, _multi.GetEventLoop()),
|
||||
multi(_multi), revents(0) {
|
||||
Schedule(events);
|
||||
}
|
||||
|
||||
SocketDescriptor GetSocket() const {
|
||||
SocketDescriptor GetSocket() const noexcept {
|
||||
return SocketMonitor::GetSocket();
|
||||
}
|
||||
|
||||
unsigned GetEvents() const {
|
||||
unsigned GetEvents() const noexcept {
|
||||
return SocketMonitor::GetScheduledFlags();
|
||||
}
|
||||
|
||||
void SetEvents(unsigned _events) {
|
||||
void SetEvents(unsigned _events) noexcept {
|
||||
revents &= _events;
|
||||
SocketMonitor::Schedule(_events);
|
||||
}
|
||||
|
||||
unsigned GetReturnedEvents() const {
|
||||
unsigned GetReturnedEvents() const noexcept {
|
||||
return revents;
|
||||
}
|
||||
|
||||
void ClearReturnedEvents() {
|
||||
void ClearReturnedEvents() noexcept {
|
||||
revents = 0;
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ public:
|
||||
static constexpr unsigned ERROR = SocketMonitor::ERROR;
|
||||
static constexpr unsigned HANGUP = SocketMonitor::HANGUP;
|
||||
|
||||
MultiSocketMonitor(EventLoop &_loop);
|
||||
MultiSocketMonitor(EventLoop &_loop) noexcept;
|
||||
|
||||
using IdleMonitor::GetEventLoop;
|
||||
|
||||
@@ -132,13 +132,13 @@ public:
|
||||
* meantime the #EventLoop thread could invoke those pure
|
||||
* methods.
|
||||
*/
|
||||
void Reset();
|
||||
void Reset() noexcept;
|
||||
|
||||
/**
|
||||
* Invalidate the socket list. A call to PrepareSockets() is
|
||||
* scheduled which will then update the list.
|
||||
*/
|
||||
void InvalidateSockets() {
|
||||
void InvalidateSockets() noexcept {
|
||||
refresh = true;
|
||||
IdleMonitor::Schedule();
|
||||
}
|
||||
@@ -148,7 +148,7 @@ public:
|
||||
*
|
||||
* May only be called from PrepareSockets().
|
||||
*/
|
||||
void AddSocket(SocketDescriptor fd, unsigned events) {
|
||||
void AddSocket(SocketDescriptor fd, unsigned events) noexcept {
|
||||
fds.emplace_front(*this, fd, events);
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ public:
|
||||
*
|
||||
* May only be called from PrepareSockets().
|
||||
*/
|
||||
void ClearSocketList();
|
||||
void ClearSocketList() noexcept;
|
||||
|
||||
/**
|
||||
* Update the known sockets by invoking the given function for
|
||||
@@ -168,7 +168,7 @@ public:
|
||||
* May only be called from PrepareSockets().
|
||||
*/
|
||||
template<typename E>
|
||||
void UpdateSocketList(E &&e) {
|
||||
void UpdateSocketList(E &&e) noexcept {
|
||||
for (auto prev = fds.before_begin(), end = fds.end(),
|
||||
i = std::next(prev);
|
||||
i != end; i = std::next(prev)) {
|
||||
@@ -191,7 +191,7 @@ public:
|
||||
*
|
||||
* May only be called from PrepareSockets().
|
||||
*/
|
||||
void ReplaceSocketList(pollfd *pfds, unsigned n);
|
||||
void ReplaceSocketList(pollfd *pfds, unsigned n) noexcept;
|
||||
#endif
|
||||
|
||||
protected:
|
||||
@@ -202,23 +202,23 @@ protected:
|
||||
*
|
||||
* @return timeout or a negative value for no timeout
|
||||
*/
|
||||
virtual std::chrono::steady_clock::duration PrepareSockets() = 0;
|
||||
virtual std::chrono::steady_clock::duration PrepareSockets() noexcept = 0;
|
||||
|
||||
/**
|
||||
* At least one socket is ready or the timeout has expired.
|
||||
* This method should be used to perform I/O.
|
||||
*/
|
||||
virtual void DispatchSockets() = 0;
|
||||
virtual void DispatchSockets() noexcept = 0;
|
||||
|
||||
private:
|
||||
void SetReady() {
|
||||
void SetReady() noexcept {
|
||||
ready = true;
|
||||
IdleMonitor::Schedule();
|
||||
}
|
||||
|
||||
void Prepare();
|
||||
void Prepare() noexcept;
|
||||
|
||||
void OnTimeout() {
|
||||
void OnTimeout() noexcept {
|
||||
SetReady();
|
||||
IdleMonitor::Schedule();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user