summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/rdma/RdmaIO.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/sys/rdma/RdmaIO.h')
-rw-r--r--cpp/src/qpid/sys/rdma/RdmaIO.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/cpp/src/qpid/sys/rdma/RdmaIO.h b/cpp/src/qpid/sys/rdma/RdmaIO.h
index 00eba28716..62779e4e78 100644
--- a/cpp/src/qpid/sys/rdma/RdmaIO.h
+++ b/cpp/src/qpid/sys/rdma/RdmaIO.h
@@ -50,10 +50,9 @@ namespace Rdma {
int recvBufferCount;
int xmitBufferCount;
int outstandingWrites;
- bool draining; // TODO: Perhaps (probably) this state can be merged with the following...
- enum State { IDLE, DATA, PENDING_DATA, NOTIFY_WRITE, PENDING_NOTIFY, DRAINED, SHUTDOWN };
+ bool draining;
+ enum State {IDLE, STOPPED};
qpid::sys::AtomicValue<State> state;
- //qpid::sys::Mutex stateLock;
QueuePair::intrusive_ptr qp;
qpid::sys::DispatchHandleRef dataHandle;
@@ -62,6 +61,7 @@ namespace Rdma {
FullCallback fullCallback;
ErrorCallback errorCallback;
NotifyCallback notifyCallback;
+ qpid::sys::DispatchHandle::Callback pendingWriteAction;
public:
typedef boost::function1<void, AsynchIO&> RequestCallback;
@@ -103,9 +103,8 @@ namespace Rdma {
void dataEvent();
void processCompletions();
void doWriteCallback();
- void checkDrainedStopped();
+ void checkDrained();
void doStoppedCallback();
- void doDrainedCallback();
};
// We're only writable if: