diff options
-rw-r--r-- | cpp/src/qpid/client/Sasl.h | 3 | ||||
-rwxr-xr-x | cpp/src/qpid/sys/windows/IocpPoller.cpp | 27 |
2 files changed, 21 insertions, 9 deletions
diff --git a/cpp/src/qpid/client/Sasl.h b/cpp/src/qpid/client/Sasl.h index e7a911ebce..9dc5817f3d 100644 --- a/cpp/src/qpid/client/Sasl.h +++ b/cpp/src/qpid/client/Sasl.h @@ -24,6 +24,7 @@ #include <memory> #include <string> +#include "qpid/sys/IntegerTypes.h" namespace qpid { @@ -33,7 +34,7 @@ class SecurityLayer; namespace client { -class ConnectionSettings; +struct ConnectionSettings; /** * Interface to SASL support diff --git a/cpp/src/qpid/sys/windows/IocpPoller.cpp b/cpp/src/qpid/sys/windows/IocpPoller.cpp index 44298ac8ea..d23dafcd6e 100755 --- a/cpp/src/qpid/sys/windows/IocpPoller.cpp +++ b/cpp/src/qpid/sys/windows/IocpPoller.cpp @@ -21,6 +21,7 @@ #include "qpid/sys/Poller.h" #include "qpid/sys/Mutex.h" +#include "qpid/sys/Dispatcher.h" #include "AsynchIoResult.h" #include "IoHandlePrivate.h" @@ -88,6 +89,24 @@ class PollerPrivate { } }; +void Poller::shutdown() { + // Allow sloppy code to shut us down more than once. + if (impl->isShutdown) + return; + ULONG_PTR key = 1; // Tell wait() it's a shutdown, not I/O + PostQueuedCompletionStatus(impl->iocp, 0, key, 0); +} + +bool Poller::interrupt(PollerHandle&) { + return false; // There's no concept of a registered handle. +} + +void Poller::run() { + Poller::shared_ptr p(this); + qpid::sys::Dispatcher d(p); + d.run(); +} + void Poller::addFd(PollerHandle& handle, Direction dir) { HANDLE h = (HANDLE)(handle.impl->fd); if (h != INVALID_HANDLE_VALUE) { @@ -100,14 +119,6 @@ void Poller::addFd(PollerHandle& handle, Direction dir) { } } -void Poller::shutdown() { - // Allow sloppy code to shut us down more than once. - if (impl->isShutdown) - return; - ULONG_PTR key = 1; // Tell wait() it's a shutdown, not I/O - PostQueuedCompletionStatus(impl->iocp, 0, key, 0); -} - // All no-ops... void Poller::delFd(PollerHandle& handle) {} void Poller::modFd(PollerHandle& handle, Direction dir) {} |