diff options
Diffstat (limited to 'cpp/src/Ice/TcpAcceptor.h')
-rw-r--r-- | cpp/src/Ice/TcpAcceptor.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/cpp/src/Ice/TcpAcceptor.h b/cpp/src/Ice/TcpAcceptor.h index c5e23428895..2d9fc24d72f 100644 --- a/cpp/src/Ice/TcpAcceptor.h +++ b/cpp/src/Ice/TcpAcceptor.h @@ -15,6 +15,10 @@ #include <Ice/Acceptor.h> #include <Ice/Network.h> +#if defined(ICE_OS_WINRT) +#include <deque> +#endif + namespace IceInternal { @@ -25,13 +29,13 @@ class TcpAcceptor : public Acceptor, public NativeInfo public: virtual NativeInfoPtr getNativeInfo(); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) virtual AsyncInfo* getAsyncInfo(SocketOperation); #endif virtual void close(); virtual EndpointIPtr listen(); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) virtual void startAccept(); virtual void finishAccept(); #endif @@ -54,11 +58,15 @@ private: const Address _addr; int _backlog; -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) SOCKET _acceptFd; int _acceptError; std::vector<char> _acceptBuf; AsyncInfo _info; +#elif defined(ICE_OS_WINRT) + IceUtil::Mutex _mutex; + bool _acceptPending; + std::deque<Windows::Networking::Sockets::StreamSocket^> _accepted; #endif }; |