event/BufferedSocket: add "noexcept"

This commit is contained in:
Max Kellermann 2017-12-20 10:42:17 +01:00
parent 5f9d4a02a5
commit a17a481e30
7 changed files with 23 additions and 23 deletions

View File

@ -226,9 +226,9 @@ public:
private: private:
/* virtual methods from class BufferedSocket */ /* virtual methods from class BufferedSocket */
InputResult OnSocketInput(void *data, size_t length) override; InputResult OnSocketInput(void *data, size_t length) noexcept override;
void OnSocketError(std::exception_ptr ep) override; void OnSocketError(std::exception_ptr ep) noexcept override;
void OnSocketClosed() override; void OnSocketClosed() noexcept override;
/* callback for TimerEvent */ /* callback for TimerEvent */
void OnTimeout() noexcept; void OnTimeout() noexcept;

View File

@ -22,7 +22,7 @@
#include "Log.hxx" #include "Log.hxx"
void void
Client::OnSocketError(std::exception_ptr ep) Client::OnSocketError(std::exception_ptr ep) noexcept
{ {
FormatError(ep, "error on client %d", num); FormatError(ep, "error on client %d", num);
@ -30,7 +30,7 @@ Client::OnSocketError(std::exception_ptr ep)
} }
void void
Client::OnSocketClosed() Client::OnSocketClosed() noexcept
{ {
SetExpired(); SetExpired();
} }

View File

@ -27,7 +27,7 @@
#include <string.h> #include <string.h>
BufferedSocket::InputResult BufferedSocket::InputResult
Client::OnSocketInput(void *data, size_t length) Client::OnSocketInput(void *data, size_t length) noexcept
{ {
char *p = (char *)data; char *p = (char *)data;
char *newline = (char *)memchr(p, '\n', length); char *newline = (char *)memchr(p, '\n', length);

View File

@ -25,7 +25,7 @@
#include <algorithm> #include <algorithm>
BufferedSocket::ssize_t BufferedSocket::ssize_t
BufferedSocket::DirectRead(void *data, size_t length) BufferedSocket::DirectRead(void *data, size_t length) noexcept
{ {
const auto nbytes = GetSocket().Read((char *)data, length); const auto nbytes = GetSocket().Read((char *)data, length);
if (gcc_likely(nbytes > 0)) if (gcc_likely(nbytes > 0))
@ -48,7 +48,7 @@ BufferedSocket::DirectRead(void *data, size_t length)
} }
bool bool
BufferedSocket::ReadToBuffer() BufferedSocket::ReadToBuffer() noexcept
{ {
assert(IsDefined()); assert(IsDefined());
@ -63,7 +63,7 @@ BufferedSocket::ReadToBuffer()
} }
bool bool
BufferedSocket::ResumeInput() BufferedSocket::ResumeInput() noexcept
{ {
assert(IsDefined()); assert(IsDefined());

View File

@ -38,7 +38,7 @@ class BufferedSocket : protected SocketMonitor {
StaticFifoBuffer<uint8_t, 8192> input; StaticFifoBuffer<uint8_t, 8192> input;
public: public:
BufferedSocket(SocketDescriptor _fd, EventLoop &_loop) BufferedSocket(SocketDescriptor _fd, EventLoop &_loop) noexcept
:SocketMonitor(_fd, _loop) { :SocketMonitor(_fd, _loop) {
ScheduleRead(); ScheduleRead();
} }
@ -47,20 +47,20 @@ public:
using SocketMonitor::Close; using SocketMonitor::Close;
private: private:
ssize_t DirectRead(void *data, size_t length); ssize_t DirectRead(void *data, size_t length) noexcept;
/** /**
* Receive data from the socket to the input buffer. * Receive data from the socket to the input buffer.
* *
* @return false if the socket has been closed * @return false if the socket has been closed
*/ */
bool ReadToBuffer(); bool ReadToBuffer() noexcept;
protected: protected:
/** /**
* @return false if the socket has been closed * @return false if the socket has been closed
*/ */
bool ResumeInput(); bool ResumeInput() noexcept;
/** /**
* Mark a portion of the input buffer "consumed". Only * Mark a portion of the input buffer "consumed". Only
@ -68,7 +68,7 @@ protected:
* does not invalidate the pointer passed to OnSocketInput() * does not invalidate the pointer passed to OnSocketInput()
* yet. * yet.
*/ */
void ConsumeInput(size_t nbytes) { void ConsumeInput(size_t nbytes) noexcept {
assert(IsDefined()); assert(IsDefined());
input.Consume(nbytes); input.Consume(nbytes);
@ -107,10 +107,10 @@ protected:
* buffer may be modified by the method while it processes the * buffer may be modified by the method while it processes the
* data * data
*/ */
virtual InputResult OnSocketInput(void *data, size_t length) = 0; virtual InputResult OnSocketInput(void *data, size_t length) noexcept = 0;
virtual void OnSocketError(std::exception_ptr ep) = 0; virtual void OnSocketError(std::exception_ptr ep) noexcept = 0;
virtual void OnSocketClosed() = 0; virtual void OnSocketClosed() noexcept = 0;
/* virtual methods from class SocketMonitor */ /* virtual methods from class SocketMonitor */
bool OnSocketReady(unsigned flags) noexcept override; bool OnSocketReady(unsigned flags) noexcept override;

View File

@ -408,7 +408,7 @@ HttpdClient::OnSocketReady(unsigned flags) noexcept
} }
BufferedSocket::InputResult BufferedSocket::InputResult
HttpdClient::OnSocketInput(void *data, size_t length) HttpdClient::OnSocketInput(void *data, size_t length) noexcept
{ {
if (state == State::RESPONSE) { if (state == State::RESPONSE) {
LogWarning(httpd_output_domain, LogWarning(httpd_output_domain,
@ -449,13 +449,13 @@ HttpdClient::OnSocketInput(void *data, size_t length)
} }
void void
HttpdClient::OnSocketError(std::exception_ptr ep) HttpdClient::OnSocketError(std::exception_ptr ep) noexcept
{ {
LogError(ep); LogError(ep);
} }
void void
HttpdClient::OnSocketClosed() HttpdClient::OnSocketClosed() noexcept
{ {
LockClose(); LockClose();
} }

View File

@ -194,9 +194,9 @@ protected:
/* virtual methods from class SocketMonitor */ /* virtual methods from class SocketMonitor */
bool OnSocketReady(unsigned flags) noexcept override; bool OnSocketReady(unsigned flags) noexcept override;
virtual InputResult OnSocketInput(void *data, size_t length) override; InputResult OnSocketInput(void *data, size_t length) noexcept override;
void OnSocketError(std::exception_ptr ep) override; void OnSocketError(std::exception_ptr ep) noexcept override;
virtual void OnSocketClosed() override; void OnSocketClosed() noexcept override;
}; };
#endif #endif