pub struct PGenericSocketManager<TSocketKey, TBackend, TMockBackend>where
TSocketKey: Eq + Hash + Clone + Display,
TBackend: AbstractSocketBackend + Default,
TMockBackend: AbstractSocketBackend + Default,
<TBackend as AbstractSocketBackend>::Socket: AbstractSocket + Default,
<TMockBackend as AbstractSocketBackend>::Socket: AbstractSocket + AbstractSocketMock + Default,{ /* private fields */ }Expand description
Socket manager for PGenericSocket
Implementations§
Source§impl<TSocketKey, TBackend, TMockBackend> PGenericSocketManager<TSocketKey, TBackend, TMockBackend>where
TSocketKey: Eq + Hash + Clone + Display,
TBackend: AbstractSocketBackend + Default,
TMockBackend: AbstractSocketBackend + Default,
<TBackend as AbstractSocketBackend>::Socket: AbstractSocket + Default,
<TMockBackend as AbstractSocketBackend>::Socket: AbstractSocket + AbstractSocketMock + Default,
impl<TSocketKey, TBackend, TMockBackend> PGenericSocketManager<TSocketKey, TBackend, TMockBackend>where
TSocketKey: Eq + Hash + Clone + Display,
TBackend: AbstractSocketBackend + Default,
TMockBackend: AbstractSocketBackend + Default,
<TBackend as AbstractSocketBackend>::Socket: AbstractSocket + Default,
<TMockBackend as AbstractSocketBackend>::Socket: AbstractSocket + AbstractSocketMock + Default,
Sourcepub fn new(
mode: PSocketMode,
) -> PGenericSocketManager<TSocketKey, TBackend, TMockBackend>
pub fn new( mode: PSocketMode, ) -> PGenericSocketManager<TSocketKey, TBackend, TMockBackend>
Sourcepub fn set_mode(&mut self, mode: PSocketMode)
pub fn set_mode(&mut self, mode: PSocketMode)
Set the mode of the PGenericSocketManager and to all PGenericSocket children
§Parameters
mode- mode of the PGenericSocketManager
Sourcepub fn get_mode(&self) -> PSocketMode
pub fn get_mode(&self) -> PSocketMode
Sourcepub fn add_client_socket(
&mut self,
name: TSocketKey,
socket_param: &PSocketParam,
extra_param: &<TBackend as AbstractSocketBackend>::Param,
mock_prefix: &String,
mock_param: &<TMockBackend as AbstractSocketBackend>::Param,
) -> bool
pub fn add_client_socket( &mut self, name: TSocketKey, socket_param: &PSocketParam, extra_param: &<TBackend as AbstractSocketBackend>::Param, mock_prefix: &String, mock_param: &<TMockBackend as AbstractSocketBackend>::Param, ) -> bool
Add a client socket
§Parameters
name: name of the socketsocket_param: parameters of the socket (host, port, send/recv timeout)extra_param: extra parameters of the backendmock_prefix: prefix where to find/save the mockmock_param: extra parameters of the mock
§Returns
true on success, false otherwise
Sourcepub fn add_server_socket(
&mut self,
name: TSocketKey,
socket_param: &PSocketParam,
extra_param: &<TBackend as AbstractSocketBackend>::Param,
mock_prefix: &String,
mock_param: &<TMockBackend as AbstractSocketBackend>::Param,
) -> bool
pub fn add_server_socket( &mut self, name: TSocketKey, socket_param: &PSocketParam, extra_param: &<TBackend as AbstractSocketBackend>::Param, mock_prefix: &String, mock_param: &<TMockBackend as AbstractSocketBackend>::Param, ) -> bool
Add a server socket
§Parameters
name: name of the socketsocket_param: parameters of the socket (host, port, send/recv timeout)extra_param: extra parameters of the backendmock_prefix: prefix where to find/save the mockmock_param: extra parameters of the mock
§Returns
true on success, false otherwise
Sourcepub fn send<T>(
&mut self,
name: TSocketKey,
data: &T,
flag: PSendFlag,
) -> PSendStatus
pub fn send<T>( &mut self, name: TSocketKey, data: &T, flag: PSendFlag, ) -> PSendStatus
Sourcepub fn recv<T>(
&mut self,
name: TSocketKey,
data: &mut T,
flag: PRecvFlag,
) -> PRecvStatus
pub fn recv<T>( &mut self, name: TSocketKey, data: &mut T, flag: PRecvFlag, ) -> PRecvStatus
Sourcepub fn remove_socket(&mut self, name: TSocketKey)
pub fn remove_socket(&mut self, name: TSocketKey)
Trait Implementations§
Source§impl<TSocketKey, TBackend, TMockBackend> Drop for PGenericSocketManager<TSocketKey, TBackend, TMockBackend>where
TSocketKey: Eq + Hash + Clone + Display,
TBackend: AbstractSocketBackend + Default,
TMockBackend: AbstractSocketBackend + Default,
<TBackend as AbstractSocketBackend>::Socket: AbstractSocket + Default,
<TMockBackend as AbstractSocketBackend>::Socket: AbstractSocket + AbstractSocketMock + Default,
impl<TSocketKey, TBackend, TMockBackend> Drop for PGenericSocketManager<TSocketKey, TBackend, TMockBackend>where
TSocketKey: Eq + Hash + Clone + Display,
TBackend: AbstractSocketBackend + Default,
TMockBackend: AbstractSocketBackend + Default,
<TBackend as AbstractSocketBackend>::Socket: AbstractSocket + Default,
<TMockBackend as AbstractSocketBackend>::Socket: AbstractSocket + AbstractSocketMock + Default,
Auto Trait Implementations§
impl<TSocketKey, TBackend, TMockBackend> Freeze for PGenericSocketManager<TSocketKey, TBackend, TMockBackend>where
<TMockBackend as AbstractSocketBackend>::Socket: Sized,
<TBackend as AbstractSocketBackend>::Socket: Sized,
TBackend: Freeze,
TMockBackend: Freeze,
impl<TSocketKey, TBackend, TMockBackend> RefUnwindSafe for PGenericSocketManager<TSocketKey, TBackend, TMockBackend>where
<TMockBackend as AbstractSocketBackend>::Socket: Sized + RefUnwindSafe,
<TBackend as AbstractSocketBackend>::Socket: Sized + RefUnwindSafe,
TBackend: RefUnwindSafe,
TMockBackend: RefUnwindSafe,
TSocketKey: RefUnwindSafe,
impl<TSocketKey, TBackend, TMockBackend> Send for PGenericSocketManager<TSocketKey, TBackend, TMockBackend>
impl<TSocketKey, TBackend, TMockBackend> Sync for PGenericSocketManager<TSocketKey, TBackend, TMockBackend>
impl<TSocketKey, TBackend, TMockBackend> Unpin for PGenericSocketManager<TSocketKey, TBackend, TMockBackend>where
<TMockBackend as AbstractSocketBackend>::Socket: Sized,
<TBackend as AbstractSocketBackend>::Socket: Sized,
TBackend: Unpin,
TMockBackend: Unpin,
TSocketKey: Unpin,
impl<TSocketKey, TBackend, TMockBackend> UnsafeUnpin for PGenericSocketManager<TSocketKey, TBackend, TMockBackend>where
<TMockBackend as AbstractSocketBackend>::Socket: Sized,
<TBackend as AbstractSocketBackend>::Socket: Sized,
TBackend: UnsafeUnpin,
TMockBackend: UnsafeUnpin,
impl<TSocketKey, TBackend, TMockBackend> UnwindSafe for PGenericSocketManager<TSocketKey, TBackend, TMockBackend>where
<TMockBackend as AbstractSocketBackend>::Socket: Sized + UnwindSafe,
<TBackend as AbstractSocketBackend>::Socket: Sized + UnwindSafe,
TBackend: UnwindSafe,
TMockBackend: UnwindSafe,
TSocketKey: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more