mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-13 10:32:57 +01:00
default disable new state on move
This commit is contained in:
parent
3e6e259c2a
commit
216d5ae3a4
@ -147,13 +147,12 @@
|
||||
// #define POCO_NET_NO_UNIX_SOCKET
|
||||
|
||||
|
||||
// Define to nonzero to enable move
|
||||
// semantics on classes where it
|
||||
// introduces a new state.
|
||||
// For explanation, see
|
||||
// Define to nonzero to enable move semantics
|
||||
// on classes where it introduces a new state.
|
||||
// For explanation, see:
|
||||
// https://github.com/pocoproject/poco/wiki/Move-Semantics-in-POCO
|
||||
#ifndef POCO_NEW_STATE_ON_MOVE
|
||||
#define POCO_NEW_STATE_ON_MOVE 1
|
||||
// #define POCO_NEW_STATE_ON_MOVE 1
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -22,6 +22,11 @@
|
||||
#include "Poco/Net/SocketImpl.h"
|
||||
#include <vector>
|
||||
|
||||
#ifdef POCO_NEW_STATE_ON_MOVE
|
||||
#define POCO_CHECK_NEW_STATE_ON_MOVE poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
#else
|
||||
#define POCO_CHECK_NEW_STATE_ON_MOVE
|
||||
#endif
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
@ -485,7 +490,7 @@ inline void Socket::close()
|
||||
|
||||
inline bool Socket::poll(const Poco::Timespan& timeout, int mode) const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->poll(timeout, mode);
|
||||
}
|
||||
@ -493,7 +498,7 @@ inline bool Socket::poll(const Poco::Timespan& timeout, int mode) const
|
||||
|
||||
inline int Socket::available() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->available();
|
||||
}
|
||||
@ -501,7 +506,7 @@ inline int Socket::available() const
|
||||
|
||||
inline int Socket::getError() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getError();
|
||||
}
|
||||
@ -509,7 +514,7 @@ inline int Socket::getError() const
|
||||
|
||||
inline void Socket::setSendBufferSize(int size)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setSendBufferSize(size);
|
||||
}
|
||||
@ -517,7 +522,7 @@ inline void Socket::setSendBufferSize(int size)
|
||||
|
||||
inline int Socket::getSendBufferSize() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getSendBufferSize();
|
||||
}
|
||||
@ -525,7 +530,7 @@ inline int Socket::getSendBufferSize() const
|
||||
|
||||
inline void Socket::setReceiveBufferSize(int size)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setReceiveBufferSize(size);
|
||||
}
|
||||
@ -533,7 +538,7 @@ inline void Socket::setReceiveBufferSize(int size)
|
||||
|
||||
inline int Socket::getReceiveBufferSize() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getReceiveBufferSize();
|
||||
}
|
||||
@ -541,7 +546,7 @@ inline int Socket::getReceiveBufferSize() const
|
||||
|
||||
inline void Socket::setSendTimeout(const Poco::Timespan& timeout)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setSendTimeout(timeout);
|
||||
}
|
||||
@ -549,7 +554,7 @@ inline void Socket::setSendTimeout(const Poco::Timespan& timeout)
|
||||
|
||||
inline Poco::Timespan Socket::getSendTimeout() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getSendTimeout();
|
||||
}
|
||||
@ -557,7 +562,7 @@ inline Poco::Timespan Socket::getSendTimeout() const
|
||||
|
||||
inline void Socket::setReceiveTimeout(const Poco::Timespan& timeout)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setReceiveTimeout(timeout);
|
||||
}
|
||||
@ -565,7 +570,7 @@ inline void Socket::setReceiveTimeout(const Poco::Timespan& timeout)
|
||||
|
||||
inline Poco::Timespan Socket::getReceiveTimeout() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getReceiveTimeout();
|
||||
}
|
||||
@ -573,7 +578,7 @@ inline Poco::Timespan Socket::getReceiveTimeout() const
|
||||
|
||||
inline void Socket::setOption(int level, int option, int value)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setOption(level, option, value);
|
||||
}
|
||||
@ -581,7 +586,7 @@ inline void Socket::setOption(int level, int option, int value)
|
||||
|
||||
inline void Socket::setOption(int level, int option, unsigned value)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setOption(level, option, value);
|
||||
}
|
||||
@ -589,7 +594,7 @@ inline void Socket::setOption(int level, int option, unsigned value)
|
||||
|
||||
inline void Socket::setOption(int level, int option, unsigned char value)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setOption(level, option, value);
|
||||
}
|
||||
@ -597,7 +602,7 @@ inline void Socket::setOption(int level, int option, unsigned char value)
|
||||
|
||||
inline void Socket::setOption(int level, int option, const Poco::Timespan& value)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setOption(level, option, value);
|
||||
}
|
||||
@ -605,7 +610,7 @@ inline void Socket::setOption(int level, int option, const Poco::Timespan& value
|
||||
|
||||
inline void Socket::setOption(int level, int option, const IPAddress& value)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setOption(level, option, value);
|
||||
}
|
||||
@ -613,7 +618,7 @@ inline void Socket::setOption(int level, int option, const IPAddress& value)
|
||||
|
||||
inline void Socket::getOption(int level, int option, int& value) const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->getOption(level, option, value);
|
||||
}
|
||||
@ -621,7 +626,7 @@ inline void Socket::getOption(int level, int option, int& value) const
|
||||
|
||||
inline void Socket::getOption(int level, int option, unsigned& value) const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->getOption(level, option, value);
|
||||
}
|
||||
@ -629,7 +634,7 @@ inline void Socket::getOption(int level, int option, unsigned& value) const
|
||||
|
||||
inline void Socket::getOption(int level, int option, unsigned char& value) const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->getOption(level, option, value);
|
||||
}
|
||||
@ -637,7 +642,7 @@ inline void Socket::getOption(int level, int option, unsigned char& value) const
|
||||
|
||||
inline void Socket::getOption(int level, int option, Poco::Timespan& value) const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->getOption(level, option, value);
|
||||
}
|
||||
@ -645,7 +650,7 @@ inline void Socket::getOption(int level, int option, Poco::Timespan& value) cons
|
||||
|
||||
inline void Socket::getOption(int level, int option, IPAddress& value) const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->getOption(level, option, value);
|
||||
}
|
||||
@ -653,7 +658,7 @@ inline void Socket::getOption(int level, int option, IPAddress& value) const
|
||||
|
||||
inline void Socket::setLinger(bool on, int seconds)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setLinger(on, seconds);
|
||||
}
|
||||
@ -661,7 +666,7 @@ inline void Socket::setLinger(bool on, int seconds)
|
||||
|
||||
inline void Socket::getLinger(bool& on, int& seconds) const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->getLinger(on, seconds);
|
||||
}
|
||||
@ -669,7 +674,7 @@ inline void Socket::getLinger(bool& on, int& seconds) const
|
||||
|
||||
inline void Socket::setNoDelay(bool flag)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setNoDelay(flag);
|
||||
}
|
||||
@ -677,7 +682,7 @@ inline void Socket::setNoDelay(bool flag)
|
||||
|
||||
inline bool Socket::getNoDelay() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getNoDelay();
|
||||
}
|
||||
@ -685,7 +690,7 @@ inline bool Socket::getNoDelay() const
|
||||
|
||||
inline void Socket::setKeepAlive(bool flag)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setKeepAlive(flag);
|
||||
}
|
||||
@ -693,7 +698,7 @@ inline void Socket::setKeepAlive(bool flag)
|
||||
|
||||
inline bool Socket::getKeepAlive() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getKeepAlive();
|
||||
}
|
||||
@ -701,7 +706,7 @@ inline bool Socket::getKeepAlive() const
|
||||
|
||||
inline void Socket::setReuseAddress(bool flag)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setReuseAddress(flag);
|
||||
}
|
||||
@ -709,7 +714,7 @@ inline void Socket::setReuseAddress(bool flag)
|
||||
|
||||
inline bool Socket::getReuseAddress() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getReuseAddress();
|
||||
}
|
||||
@ -717,7 +722,7 @@ inline bool Socket::getReuseAddress() const
|
||||
|
||||
inline void Socket::setReusePort(bool flag)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setReusePort(flag);
|
||||
}
|
||||
@ -725,7 +730,7 @@ inline void Socket::setReusePort(bool flag)
|
||||
|
||||
inline bool Socket::getReusePort() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getReusePort();
|
||||
}
|
||||
@ -733,7 +738,7 @@ inline bool Socket::getReusePort() const
|
||||
|
||||
inline void Socket::setOOBInline(bool flag)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setOOBInline(flag);
|
||||
}
|
||||
@ -741,7 +746,7 @@ inline void Socket::setOOBInline(bool flag)
|
||||
|
||||
inline bool Socket::getOOBInline() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getOOBInline();
|
||||
}
|
||||
@ -749,7 +754,7 @@ inline bool Socket::getOOBInline() const
|
||||
|
||||
inline void Socket::setBlocking(bool flag)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->setBlocking(flag);
|
||||
}
|
||||
@ -757,7 +762,7 @@ inline void Socket::setBlocking(bool flag)
|
||||
|
||||
inline bool Socket::getBlocking() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->getBlocking();
|
||||
}
|
||||
@ -771,7 +776,7 @@ inline SocketImpl* Socket::impl() const
|
||||
|
||||
inline poco_socket_t Socket::sockfd() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->sockfd();
|
||||
}
|
||||
@ -779,7 +784,7 @@ inline poco_socket_t Socket::sockfd() const
|
||||
|
||||
inline SocketAddress Socket::address() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->address();
|
||||
}
|
||||
@ -787,7 +792,7 @@ inline SocketAddress Socket::address() const
|
||||
|
||||
inline SocketAddress Socket::peerAddress() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->peerAddress();
|
||||
}
|
||||
@ -795,7 +800,7 @@ inline SocketAddress Socket::peerAddress() const
|
||||
|
||||
inline bool Socket::secure() const
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
return _pImpl->secure();
|
||||
}
|
||||
@ -819,7 +824,7 @@ inline bool Socket::supportsIPv6()
|
||||
|
||||
inline void Socket::init(int af)
|
||||
{
|
||||
poco_assert_dbg(POCO_NEW_STATE_ON_MOVE && _pImpl);
|
||||
POCO_CHECK_NEW_STATE_ON_MOVE;
|
||||
|
||||
_pImpl->init(af);
|
||||
}
|
||||
|
@ -54,11 +54,13 @@ RawSocket::RawSocket(const RawSocket& socket): Socket(socket)
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
RawSocket::RawSocket(RawSocket&& socket): Socket(std::move(socket))
|
||||
{
|
||||
}
|
||||
|
||||
#endif // POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
RawSocket::RawSocket(SocketImpl* pImpl): Socket(pImpl)
|
||||
{
|
||||
@ -82,6 +84,8 @@ RawSocket& RawSocket::operator = (const Socket& socket)
|
||||
}
|
||||
|
||||
|
||||
#ifdef POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
RawSocket& RawSocket::operator = (Socket&& socket)
|
||||
{
|
||||
if (dynamic_cast<RawSocketImpl*>(socket.impl()))
|
||||
@ -91,6 +95,7 @@ RawSocket& RawSocket::operator = (Socket&& socket)
|
||||
return *this;
|
||||
}
|
||||
|
||||
#endif // POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
RawSocket& RawSocket::operator = (const RawSocket& socket)
|
||||
{
|
||||
@ -99,12 +104,15 @@ RawSocket& RawSocket::operator = (const RawSocket& socket)
|
||||
}
|
||||
|
||||
|
||||
#ifdef POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
RawSocket& RawSocket::operator = (RawSocket&& socket)
|
||||
{
|
||||
Socket::operator = (std::move(socket));
|
||||
return *this;
|
||||
}
|
||||
|
||||
#endif // POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
void RawSocket::connect(const SocketAddress& address)
|
||||
{
|
||||
|
@ -65,6 +65,8 @@ WebSocket::WebSocket(const Socket& socket):
|
||||
}
|
||||
|
||||
|
||||
#ifdef POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
WebSocket::WebSocket(Socket&& socket):
|
||||
StreamSocket(std::move(socket))
|
||||
{
|
||||
@ -73,14 +75,16 @@ WebSocket::WebSocket(Socket&& socket):
|
||||
}
|
||||
|
||||
|
||||
WebSocket::WebSocket(const WebSocket& socket):
|
||||
StreamSocket(socket)
|
||||
WebSocket::WebSocket(WebSocket&& socket):
|
||||
StreamSocket(std::move(socket))
|
||||
{
|
||||
}
|
||||
|
||||
#endif // POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
WebSocket::WebSocket(WebSocket&& socket):
|
||||
StreamSocket(std::move(socket))
|
||||
|
||||
WebSocket::WebSocket(const WebSocket& socket):
|
||||
StreamSocket(socket)
|
||||
{
|
||||
}
|
||||
|
||||
@ -100,6 +104,8 @@ WebSocket& WebSocket::operator = (const Socket& socket)
|
||||
}
|
||||
|
||||
|
||||
#ifdef POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
WebSocket& WebSocket::operator = (Socket&& socket)
|
||||
{
|
||||
if (dynamic_cast<WebSocketImpl*>(socket.impl()))
|
||||
@ -110,19 +116,21 @@ WebSocket& WebSocket::operator = (Socket&& socket)
|
||||
}
|
||||
|
||||
|
||||
WebSocket& WebSocket::operator = (const WebSocket& socket)
|
||||
{
|
||||
Socket::operator = (socket);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
WebSocket& WebSocket::operator = (WebSocket&& socket)
|
||||
{
|
||||
Socket::operator = (std::move(socket));
|
||||
return *this;
|
||||
}
|
||||
|
||||
#endif // POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
|
||||
WebSocket& WebSocket::operator = (const WebSocket& socket)
|
||||
{
|
||||
Socket::operator = (socket);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
void WebSocket::shutdown()
|
||||
{
|
||||
|
@ -91,7 +91,10 @@ void RawSocketTest::testEchoIPv4Move()
|
||||
rs0.connect(sa);
|
||||
|
||||
RawSocket rs(std::move(rs0));
|
||||
#ifdef POCO_NEW_STATE_ON_MOVE
|
||||
assertTrue (rs0.impl() == nullptr);
|
||||
#endif // POCO_NEW_STATE_ON_MOVE
|
||||
|
||||
int n = rs.sendBytes("hello", 5);
|
||||
assertTrue (5 == n);
|
||||
|
||||
|
@ -65,7 +65,14 @@ void SocketProactorTest::testTCPSocketProactor()
|
||||
received = true;
|
||||
};
|
||||
proactor.addReceive(s, buf, onRecvCompletion);
|
||||
while (!received) proactor.poll();
|
||||
Stopwatch sw;
|
||||
sw.start();
|
||||
while (!received)
|
||||
{
|
||||
if (sw.elapsedSeconds() > 1)
|
||||
fail("SocketProactor receive completion timed out.", __LINE__, __FILE__);
|
||||
proactor.poll();
|
||||
}
|
||||
|
||||
assertTrue (sent);
|
||||
assertTrue (sendPassed);
|
||||
@ -84,8 +91,11 @@ void SocketProactorTest::testTCPSocketProactor()
|
||||
proactor.addSend(s, SocketProactor::Buffer(hello.begin(), hello.end()), nullptr);
|
||||
proactor.addReceive(s, buf, nullptr);
|
||||
int handled = 0, handledTot = 0;
|
||||
sw.restart();
|
||||
do
|
||||
{
|
||||
if (sw.elapsedSeconds() > 1)
|
||||
fail("SocketProactor receive completion timed out.", __LINE__, __FILE__);
|
||||
proactor.poll(&handled);
|
||||
handledTot += handled;
|
||||
}
|
||||
@ -109,7 +119,13 @@ void SocketProactorTest::testTCPSocketProactor()
|
||||
errSock.connectNB(SocketAddress("127.0.0.1", 0xFFEE));
|
||||
proactor.addSend(errSock, SocketProactor::Buffer(hello.begin(), hello.end()), onError);
|
||||
Thread::sleep(100);
|
||||
while (!error) proactor.poll();
|
||||
sw.restart();
|
||||
while (!error)
|
||||
{
|
||||
if (sw.elapsedSeconds() > 1)
|
||||
fail("SocketProactor send completion timed out.", __LINE__, __FILE__);
|
||||
proactor.poll();
|
||||
}
|
||||
assertTrue (error);
|
||||
assertTrue(errorPassed);
|
||||
}
|
||||
@ -227,7 +243,14 @@ void SocketProactorTest::testSocketProactorStartStop()
|
||||
};
|
||||
proactor.addReceiveFrom(s, buf, sa, onRecvCompletion);
|
||||
|
||||
while (!received) proactor.poll();
|
||||
Stopwatch sw;
|
||||
sw.start();
|
||||
while (!received)
|
||||
{
|
||||
if (sw.elapsedSeconds() > 1)
|
||||
fail("SocketProactor receiveFrom timed out.", __LINE__, __FILE__);
|
||||
proactor.poll();
|
||||
}
|
||||
|
||||
assertTrue (sent);
|
||||
assertTrue (sendPassed);
|
||||
@ -253,7 +276,13 @@ void SocketProactorTest::testSocketProactorStartStop()
|
||||
SocketAddress("127.0.0.1", echoServer.port()),
|
||||
onSendCompletion);
|
||||
proactor.addReceiveFrom(s, buf, sa, onRecvCompletion);
|
||||
while (!received) proactor.poll();
|
||||
sw.restart();
|
||||
while (!received)
|
||||
{
|
||||
if (sw.elapsedSeconds() > 1)
|
||||
fail("SocketProactor receiveFrom timed out.", __LINE__, __FILE__);
|
||||
proactor.poll();
|
||||
}
|
||||
|
||||
assertTrue(std::string(buf.begin(), buf.end()) == hello);
|
||||
assertTrue (sent);
|
||||
|
@ -123,7 +123,9 @@ void WebSocketTest::testWebSocket()
|
||||
HTTPResponse response;
|
||||
WebSocket ws0 = WebSocket(cs, request, response);
|
||||
WebSocket ws(std::move(ws0));
|
||||
#ifdef POCO_NEW_STATE_ON_MOVE
|
||||
assertTrue(ws0.impl() == nullptr);
|
||||
#endif
|
||||
|
||||
std::string payload("x");
|
||||
ws.sendFrame(payload.data(), (int) payload.size());
|
||||
|
Loading…
Reference in New Issue
Block a user