net_component/handler/
network_service_handler_manager_builder.rs1use 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 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}