// abstract Message class
+namespace bi = boost::intrusive;
+
class Message : public RefCountedObject {
protected:
ceph_msg_header header; // headerelope
uint32_t magic;
+ bi::list_member_hook<> dispatch_q;
+
public:
class CompletionHook : public Context {
protected:
virtual ~CompletionHook() {}
};
+ typedef bi::list< Message,
+ bi::member_hook< Message,
+ bi::list_member_hook<>,
+ &Message::dispatch_q > > Queue;
+
protected:
CompletionHook* completion_hook; // owned by Messenger