XROAD
rabbit.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <common/xroad_xml.h>
9 #include <stdint.h>
10 #include <string.h>
11 #include <amqp.h>
12 
13 #ifdef __cplusplus
14 extern "C"
15 {
16 #endif
17 
18 typedef struct rabbit_s rabbit_t;
19 
23 typedef struct
24 {
25  void* ctx;
26  void (*on_connected)(rabbit_t*, void*);
27  void (*on_disconnected)(rabbit_t*, void*);
37  bool (*on_msg)(rabbit_t*, uint64_t, const amqp_basic_properties_t*, const void*, size_t, void*);
41 
48 rabbit_t* rabbit_create(xroad_xml_tag_t cfg, rabbit_callback_t cback);
49 
56 xroad_errno_t rabbit_reconfig(rabbit_t* r, xroad_xml_tag_t cfg);
57 
62 void rabbit_destroy(rabbit_t* r);
63 
69 xroad_errno_t rabbit_start(rabbit_t* r);
70 
75 xroad_errno_t rabbit_stop(rabbit_t* r);
76 
87 xroad_errno_t rabbit_send(rabbit_t* r, xroad_str_t exchange, xroad_str_t binding_key,
88  const amqp_basic_properties_t* props, void* data, size_t len);
89 
95 xroad_errno_t rabbit_ack(rabbit_t* r, uint64_t delivery_tag);
96 
105 xroad_errno_t rabbit_queue_bind(rabbit_t* r, xroad_str_t queue, xroad_str_t exchange, xroad_str_t binding_key);
106 
115 xroad_errno_t rabbit_queue_unbind(rabbit_t* r, xroad_str_t queue, xroad_str_t exchange, xroad_str_t binding_key);
116 
117 #ifdef __cplusplus
118 }
119 #endif
xroad_errno_t rabbit_ack(rabbit_t *r, uint64_t delivery_tag)
xroad_errno_t rabbit_reconfig(rabbit_t *r, xroad_xml_tag_t cfg)
xroad_errno_t rabbit_start(rabbit_t *r)
xroad_errno_t rabbit_stop(rabbit_t *r)
xroad_errno_t rabbit_queue_bind(rabbit_t *r, xroad_str_t queue, xroad_str_t exchange, xroad_str_t binding_key)
xroad_errno_t rabbit_send(rabbit_t *r, xroad_str_t exchange, xroad_str_t binding_key, const amqp_basic_properties_t *props, void *data, size_t len)
rabbit_t * rabbit_create(xroad_xml_tag_t cfg, rabbit_callback_t cback)
void rabbit_destroy(rabbit_t *r)
xroad_errno_t rabbit_queue_unbind(rabbit_t *r, xroad_str_t queue, xroad_str_t exchange, xroad_str_t binding_key)
Definition: rabbit.h:24
void * ctx
context, used data
Definition: rabbit.h:25
Definition: xroad_string.h:29