1 module symmetry.api.rabbitmq.enums;
2 import symmetry.api.rabbitmq.bindings;
3 
4 enum RabbitStatus
5 {
6   replySuccess = AMQP_REPLY_SUCCESS,
7   contentTooLarge = AMQP_CONTENT_TOO_LARGE,
8   noRoute = AMQP_NO_ROUTE,
9   noConsumers = AMQP_NO_CONSUMERS,
10   accessRefused = AMQP_ACCESS_REFUSED,
11   notFound = AMQP_NOT_FOUND,
12   resourceLocked = AMQP_RESOURCE_LOCKED,
13   preconditionFailed = AMQP_PRECONDITION_FAILED,
14   connectionForced = AMQP_CONNECTION_FORCED,
15   invalidPath = AMQP_INVALID_PATH,
16   frameError = AMQP_FRAME_ERROR,
17   syntaxError = AMQP_SYNTAX_ERROR,
18   commandInvalid = AMQP_COMMAND_INVALID,
19   channelError = AMQP_CHANNEL_ERROR,
20   unexpectedFrame = AMQP_UNEXPECTED_FRAME,
21   resourceError = AMQP_RESOURCE_ERROR,
22   notAllowed = AMQP_NOT_ALLOWED,
23   notImplemented = AMQP_NOT_IMPLEMENTED,
24   internalError = AMQP_INTERNAL_ERROR,
25 }
26 
27 enum RabbitFrameFieldType
28 {
29   method = AMQP_FRAME_METHOD,
30   header = AMQP_FRAME_HEADER,
31   body_ =  AMQP_FRAME_BODY,
32   heartbeat = AMQP_FRAME_HEARTBEAT,
33   minSize = AMQP_FRAME_MIN_SIZE,
34   end = AMQP_FRAME_END,
35 }
36 
37 enum RabbitConnectionMethod
38 {
39   start = AMQP_CONNECTION_START_METHOD,
40   startOkay = AMQP_CONNECTION_START_OK_METHOD,
41   secure = AMQP_CONNECTION_SECURE_METHOD,
42   secureOkay = AMQP_CONNECTION_SECURE_OK_METHOD,
43   tuneMethod = AMQP_CONNECTION_TUNE_METHOD,
44   tuneOkay = AMQP_CONNECTION_TUNE_OK_METHOD,
45   open = AMQP_CONNECTION_OPEN_METHOD,
46   openOkay = AMQP_CONNECTION_OPEN_OK_METHOD,
47   close = AMQP_CONNECTION_CLOSE_METHOD,
48   closeOkay = AMQP_CONNECTION_CLOSE_OK_METHOD,
49 }
50 
51 enum RabbitChannelMethod
52 {
53   open = AMQP_CHANNEL_OPEN_METHOD,
54   openOkay = AMQP_CHANNEL_OPEN_OK_METHOD,
55   flow = AMQP_CHANNEL_FLOW_METHOD,
56   flowOkay = AMQP_CHANNEL_FLOW_OK_METHOD,
57   close = AMQP_CHANNEL_CLOSE_METHOD,
58   closeOkay = AMQP_CHANNEL_CLOSE_OK_METHOD,
59 }
60 
61 enum RabbitAccessMethod
62 {
63   request = AMQP_ACCESS_REQUEST_METHOD,
64   requestOkay = AMQP_ACCESS_REQUEST_OK_METHOD,
65 }
66 
67 enum RabbitExchangeMethod
68 {
69   declare = AMQP_EXCHANGE_DECLARE_METHOD,
70   declareOkay = AMQP_EXCHANGE_DECLARE_OK_METHOD,
71   exchangeDelete = AMQP_EXCHANGE_DELETE_METHOD,
72   deleteOkay = AMQP_EXCHANGE_DELETE_OK_METHOD,
73   bind = AMQP_EXCHANGE_BIND_METHOD,
74   bindOkay = AMQP_EXCHANGE_BIND_OK_METHOD,
75   unbind = AMQP_EXCHANGE_UNBIND_METHOD,
76   unbindOkay = AMQP_EXCHANGE_UNBIND_OK_METHOD,
77 }
78 
79 enum RabbitQueueMethod
80 {
81   declare = AMQP_QUEUE_DECLARE_METHOD,
82   declareOkay = AMQP_QUEUE_DECLARE_OK_METHOD,
83   bind = AMQP_QUEUE_BIND_METHOD,
84   bindOkay = AMQP_QUEUE_BIND_OK_METHOD,
85   purge = AMQP_QUEUE_PURGE_METHOD,
86   purgeOkay = AMQP_QUEUE_PURGE_OK_METHOD,
87   delete_ = AMQP_QUEUE_DELETE_METHOD,
88   deleteOkay = AMQP_QUEUE_DELETE_OK_METHOD,
89   unbind = AMQP_QUEUE_UNBIND_METHOD,
90   unbindOkay = AMQP_QUEUE_UNBIND_OK_METHOD,
91 }
92 
93 enum RabbitBasicMethod
94 {
95   qos  = AMQP_BASIC_QOS_METHOD,
96   qosOkay = AMQP_BASIC_QOS_OK_METHOD,
97   consume = AMQP_BASIC_CONSUME_METHOD,
98   consumeOkay = AMQP_BASIC_CONSUME_OK_METHOD,
99   basicCancel = AMQP_BASIC_CANCEL_METHOD,
100   cancelOkay = AMQP_BASIC_CANCEL_OK_METHOD,
101   publish = AMQP_BASIC_PUBLISH_METHOD,
102   return_ = AMQP_BASIC_RETURN_METHOD,
103   deliver = AMQP_BASIC_DELIVER_METHOD,
104   get = AMQP_BASIC_GET_METHOD,
105   getOkay = AMQP_BASIC_GET_OK_METHOD,
106   getEmpty = AMQP_BASIC_GET_EMPTY_METHOD,
107   ack = AMQP_BASIC_ACK_METHOD,
108   reject = AMQP_BASIC_REJECT_METHOD,
109   recoverAsync = AMQP_BASIC_RECOVER_ASYNC_METHOD,
110   recover = AMQP_BASIC_RECOVER_METHOD,
111   recoverOkay = AMQP_BASIC_RECOVER_OK_METHOD,
112   nack = AMQP_BASIC_NACK_METHOD,
113 }
114 
115 enum RabbitTxMethod
116 {
117   select = AMQP_TX_SELECT_METHOD,
118   selectOkay = AMQP_TX_SELECT_OK_METHOD,
119   commit = AMQP_TX_COMMIT_METHOD,
120   commitOkay = AMQP_TX_COMMIT_OK_METHOD,
121   rollback = AMQP_TX_ROLLBACK_METHOD,
122   rollbackOkay = AMQP_TX_ROLLBACK_OK_METHOD,
123 }
124 
125 enum RabbitConfirmMethod
126 {
127   select = AMQP_CONFIRM_SELECT_METHOD,
128   selectOkay = AMQP_CONFIRM_SELECT_OK_METHOD,
129 }
130 
131 enum RabbitClass
132 {
133   connection = AMQP_CONNECTION_CLASS,
134   channel = AMQP_CHANNEL_CLASS,
135   access = AMQP_ACCESS_CLASS,
136   exchange = AMQP_EXCHANGE_CLASS,
137   queue = AMQP_QUEUE_CLASS,
138   basic = AMQP_BASIC_CLASS,
139   tx = AMQP_TX_CLASS,
140   confirm = AMQP_CONFIRM_CLASS,
141 }
142 
143 enum RabbitBasicFlag
144 {
145   contentType = AMQP_BASIC_CONTENT_TYPE_FLAG,
146   contentEncoding = AMQP_BASIC_CONTENT_ENCODING_FLAG,
147   headers = AMQP_BASIC_HEADERS_FLAG,
148   deliveryMode = AMQP_BASIC_DELIVERY_MODE_FLAG,
149   priority = AMQP_BASIC_PRIORITY_FLAG,
150   correlationID = AMQP_BASIC_CORRELATION_ID_FLAG,
151   replyTo = AMQP_BASIC_REPLY_TO_FLAG,
152   expiration = AMQP_BASIC_EXPIRATION_FLAG,
153   messageID = AMQP_BASIC_MESSAGE_ID_FLAG,
154   timeStamp = AMQP_BASIC_TIMESTAMP_FLAG,
155   type = AMQP_BASIC_TYPE_FLAG,
156   userID = AMQP_BASIC_USER_ID_FLAG,
157   appID = AMQP_BASIC_APP_ID_FLAG,
158   clusterID = AMQP_BASIC_CLUSTER_ID_FLAG,
159 }
160 
161 enum RabbitFieldValueKind
162 {
163   boolean = AMQP_FIELD_KIND_BOOLEAN,
164   i8 = AMQP_FIELD_KIND_I8,
165   u8 = AMQP_FIELD_KIND_U8,
166   i16 = AMQP_FIELD_KIND_I16,
167   u16 = AMQP_FIELD_KIND_U16,
168   i32 = AMQP_FIELD_KIND_I32,
169   u32 = AMQP_FIELD_KIND_U32,
170   i64 = AMQP_FIELD_KIND_I64,
171   u64 = AMQP_FIELD_KIND_U64,
172   f32 = AMQP_FIELD_KIND_F32,
173   f64 = AMQP_FIELD_KIND_F64,
174   decimal = AMQP_FIELD_KIND_DECIMAL,
175   utf8 = AMQP_FIELD_KIND_UTF8,
176   array = AMQP_FIELD_KIND_ARRAY,
177   timeStamp = AMQP_FIELD_KIND_TIMESTAMP,
178   table = AMQP_FIELD_KIND_TABLE,
179   void_ = AMQP_FIELD_KIND_VOID,
180   bytes = AMQP_FIELD_KIND_BYTES,
181 }
182 enum RabbitResponseType
183 {
184   none = AMQP_RESPONSE_NONE,
185   normal = AMQP_RESPONSE_NORMAL,
186   libraryException = AMQP_RESPONSE_LIBRARY_EXCEPTION,
187   serverException = AMQP_RESPONSE_SERVER_EXCEPTION
188 }
189 
190 enum RabbitSaslMethod
191 {
192   plain = AMQP_SASL_METHOD_PLAIN
193 }
194 
195 enum RabbitDeliveryMode:ubyte
196 {
197     nonPersistent = 1,
198     persistent = 2,
199 }