pub struct CmdSend<R: CmdTunnelRead, W: CmdTunnelWrite, LEN, CMD>where
LEN: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + FromPrimitive + ToPrimitive,
CMD: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + Debug,{ /* private fields */ }Implementations§
Source§impl<R, W, LEN, CMD> CmdSend<R, W, LEN, CMD>where
R: CmdTunnelRead,
W: CmdTunnelWrite,
LEN: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + FromPrimitive + ToPrimitive,
CMD: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + Debug,
impl<R, W, LEN, CMD> CmdSend<R, W, LEN, CMD>where
R: CmdTunnelRead,
W: CmdTunnelWrite,
LEN: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + FromPrimitive + ToPrimitive,
CMD: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + Debug,
pub fn new( tunnel_id: TunnelId, recv_handle: JoinHandle<CmdResult<()>>, write: WHalf<R, W>, ) -> Self
pub fn get_tunnel_id(&self) -> TunnelId
pub fn set_disable(&mut self)
pub async fn send( &mut self, cmd: CMD, version: u8, body: &[u8], ) -> CmdResult<()>
pub async fn send2( &mut self, cmd: CMD, version: u8, body: &[&[u8]], ) -> CmdResult<()>
Trait Implementations§
Source§impl<R, W, LEN, CMD> ClassifiedWorker<(PeerId, Option<TunnelId>)> for CmdSend<R, W, LEN, CMD>where
R: CmdTunnelRead,
W: CmdTunnelWrite,
LEN: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + FromPrimitive + ToPrimitive,
CMD: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + Debug,
impl<R, W, LEN, CMD> ClassifiedWorker<(PeerId, Option<TunnelId>)> for CmdSend<R, W, LEN, CMD>where
R: CmdTunnelRead,
W: CmdTunnelWrite,
LEN: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + FromPrimitive + ToPrimitive,
CMD: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + Debug,
Source§impl<R, W, LEN, CMD> ClassifiedWorker<TunnelId> for CmdSend<R, W, LEN, CMD>where
R: CmdTunnelRead,
W: CmdTunnelWrite,
LEN: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + FromPrimitive + ToPrimitive,
CMD: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + Debug,
impl<R, W, LEN, CMD> ClassifiedWorker<TunnelId> for CmdSend<R, W, LEN, CMD>where
R: CmdTunnelRead,
W: CmdTunnelWrite,
LEN: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + FromPrimitive + ToPrimitive,
CMD: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + Debug,
Source§impl<R, W, LEN, CMD> Drop for CmdSend<R, W, LEN, CMD>where
R: CmdTunnelRead,
W: CmdTunnelWrite,
LEN: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + FromPrimitive + ToPrimitive,
CMD: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + Debug,
impl<R, W, LEN, CMD> Drop for CmdSend<R, W, LEN, CMD>where
R: CmdTunnelRead,
W: CmdTunnelWrite,
LEN: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + FromPrimitive + ToPrimitive,
CMD: RawEncode + for<'a> RawDecode<'a> + Copy + Send + Sync + 'static + Debug,
Auto Trait Implementations§
impl<R, W, LEN, CMD> Freeze for CmdSend<R, W, LEN, CMD>where
W: Freeze,
impl<R, W, LEN, CMD> RefUnwindSafe for CmdSend<R, W, LEN, CMD>
impl<R, W, LEN, CMD> Send for CmdSend<R, W, LEN, CMD>
impl<R, W, LEN, CMD> Sync for CmdSend<R, W, LEN, CMD>
impl<R, W, LEN, CMD> Unpin for CmdSend<R, W, LEN, CMD>
impl<R, W, LEN, CMD> UnwindSafe for CmdSend<R, W, LEN, CMD>
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