From dfc598af62ccb812ebd53d5d8532f61b01b18245 Mon Sep 17 00:00:00 2001 From: Andrew Stitcher Date: Thu, 24 Jul 2008 05:31:07 +0000 Subject: Refactored so that Dispatcher is now independent from DispatchHandle git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@679276 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/sys/Dispatcher.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'cpp/src/qpid/sys/Dispatcher.cpp') diff --git a/cpp/src/qpid/sys/Dispatcher.cpp b/cpp/src/qpid/sys/Dispatcher.cpp index 1df88ce0ae..3f901737fd 100644 --- a/cpp/src/qpid/sys/Dispatcher.cpp +++ b/cpp/src/qpid/sys/Dispatcher.cpp @@ -38,12 +38,10 @@ Dispatcher::~Dispatcher() { void Dispatcher::run() { do { Poller::Event event = poller->wait(); - DispatchHandle* h = - boost::polymorphic_downcast(event.handle); // If can read/write then dispatch appropriate callbacks - if (h) { - h->dispatchCallbacks(event.type); + if (event.handle) { + event.process(); } else { // Handle shutdown switch (event.type) { @@ -344,7 +342,7 @@ void DispatchHandle::doDelete() { deferDelete(); } -void DispatchHandle::dispatchCallbacks(Poller::EventType type) { +void DispatchHandle::processEvent(Poller::EventType type) { // Note that we are now doing the callbacks { ScopedLock lock(stateLock); -- cgit v1.2.1