1use modules::{
2 client::Client, cluster_name::ClusterNameManager, nodes::NodeManager, queues::QueueManager,
3 vhost::VhostManager,
4};
5
6pub mod modules;
7
8pub struct Rabbitmq {
9 pub vhost: VhostManager,
10 pub queue: QueueManager,
11 pub cluster_name: ClusterNameManager,
12 pub node: NodeManager,
13}
14
15impl Rabbitmq {
16 pub fn new(host: String, port: u16, auth_token: String, timeout: u8) -> Self {
17 let client = Client::new(host, port, auth_token, timeout);
18 let vhost_manager = VhostManager::new(client.clone());
19 let queue_manager = QueueManager::new(client.clone());
20 let cluster_name_manager = ClusterNameManager::new(client.clone());
21 let node_manager = NodeManager::new(client.clone());
22 Rabbitmq {
23 vhost: vhost_manager,
24 queue: queue_manager,
25 cluster_name: cluster_name_manager,
26 node: node_manager,
27 }
28 }
29}
30
31