Add NetworkAcceptor and NetworkStream interfaces.

These allow mocking of TCPAcceptor and TCPStream respectively.
This commit is contained in:
Peter Johnson
2015-08-02 00:06:27 -07:00
parent 6703968f73
commit 0dcaf56ed1
10 changed files with 93 additions and 33 deletions

View File

@@ -83,7 +83,7 @@ void TCPAcceptor::shutdown() {
::shutdown(m_lsd, SHUT_RDWR);
}
std::unique_ptr<TCPStream> TCPAcceptor::accept() {
std::unique_ptr<NetworkStream> TCPAcceptor::accept() {
if (!m_listening) return nullptr;
struct sockaddr_in address;
@@ -94,5 +94,5 @@ std::unique_ptr<TCPStream> TCPAcceptor::accept() {
if (!m_shutdown) ERROR("accept() failed: " << strerror(errno));
return nullptr;
}
return std::unique_ptr<TCPStream>(new TCPStream(sd, &address));
return std::unique_ptr<NetworkStream>(new TCPStream(sd, &address));
}