pub struct ProtocolStackManager {
stacks: RwLock<BTreeMap<SocketDomain, Arc<dyn ProtocolStack>>>,
}Expand description
Protocol stack manager
Manages registered protocol stacks and routes packets to appropriate stacks.
Fields§
§stacks: RwLock<BTreeMap<SocketDomain, Arc<dyn ProtocolStack>>>Registered protocol stacks by domain
Implementations§
Source§impl ProtocolStackManager
impl ProtocolStackManager
Sourcepub fn register_stack(&self, stack: Arc<dyn ProtocolStack>)
pub fn register_stack(&self, stack: Arc<dyn ProtocolStack>)
Sourcepub fn get_stack(&self, domain: SocketDomain) -> Option<Arc<dyn ProtocolStack>>
pub fn get_stack(&self, domain: SocketDomain) -> Option<Arc<dyn ProtocolStack>>
Sourcepub fn process_packet(&self, packet: &DevicePacket) -> Result<(), SocketError>
pub fn process_packet(&self, packet: &DevicePacket) -> Result<(), SocketError>
Sourcepub fn get_all_statistics(&self) -> Vec<(String, ProtocolStackStats)>
pub fn get_all_statistics(&self) -> Vec<(String, ProtocolStackStats)>
Get statistics for all protocol stacks