00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "qpid/framing/FieldTable.h"
00022
00023 #ifndef _QueueOptions_
00024 #define _QueueOptions_
00025
00026 namespace qpid {
00027 namespace client {
00028
00029 enum QueueSizePolicy {NONE, REJECT, FLOW_TO_DISK, RING, RING_STRICT};
00030 enum QueueOrderingPolicy {FIFO, LVQ};
00031
00036 class QueueOptions: public framing::FieldTable
00037 {
00038 public:
00039 QueueOptions();
00040 virtual ~QueueOptions();
00041
00054 void setSizePolicy(QueueSizePolicy sp, uint64_t maxSize, uint32_t maxCount );
00055
00060 void setOptimisticConsume();
00061
00066 void setPersistLastNode();
00067
00071 void setOrdering(QueueOrderingPolicy op);
00072
00076 void clearSizePolicy();
00077
00081 void clearOptimisticConsume();
00082
00086 void clearPersistLastNode();
00087
00091 void getLVQKey(std::string& key);
00092
00096 void clearOrdering();
00097
00098 static const std::string strMaxCountKey;
00099 static const std::string strMaxSizeKey;
00100 static const std::string strTypeKey;
00101 static const std::string strREJECT;
00102 static const std::string strFLOW_TO_DISK;
00103 static const std::string strRING;
00104 static const std::string strRING_STRICT;
00105 static const std::string strLastValueQueue;
00106 static const std::string strOptimisticConsume;
00107 static const std::string strPersistLastNode;
00108 static const std::string strLVQMatchProperty;
00109 };
00110
00111 }
00112 }
00113
00114
00115 #endif