net_component/handler/
network_service_handler_manager_builder.rs

1use std::collections::HashMap;
2
3use super::network_service_handler::NetworkServiceHandler;
4use super::network_service_handler_manager::NetworkServiceHandlerManager;
5
6#[derive(Default)]
7pub struct NetworkServiceHandlerManagerBuilder {
8    handlers: HashMap<String, Box<dyn NetworkServiceHandler>>
9}
10
11impl NetworkServiceHandlerManagerBuilder {
12    pub fn add_handler(
13        mut self,
14        handler: Box<dyn NetworkServiceHandler>
15    ) -> Self
16    {
17        //TODO: Create Error handling here
18        let _ = self.handlers.insert(handler.get_handler_type(), handler);
19        self
20    }
21
22    pub fn build(self) -> NetworkServiceHandlerManager {
23        NetworkServiceHandlerManager::new(
24            self.handlers
25        )
26    }
27}