00001 #pragma once 00002 00003 #include "Message.h" 00004 00005 namespace mycq 00006 { 00007 class QueueSchema; 00008 class OnGetHandler; 00009 00011 00013 class P2PQueue 00014 { 00015 public: 00019 virtual void put(Message* message) = 0; 00020 00024 virtual void putTx(Message* message) = 0; 00025 00029 virtual Message* get() = 0; 00030 00034 virtual Message* getTx() = 0; 00035 00093 virtual void getStart(OnGetHandler* handler) = 0; 00094 00098 virtual bool getStop() = 0; 00099 00102 virtual Message* getBlankMessage() = 0; 00103 00106 virtual QueueSchema* getQueueSchema() = 0; 00107 00110 virtual int getQueueSize() = 0; 00111 00115 virtual int getMessageCount() = 0; 00116 }; 00117 }