summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpp/src/qpid/client/Sasl.h3
-rwxr-xr-xcpp/src/qpid/sys/windows/IocpPoller.cpp27
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) {}