Struct netsim_embed_machine::Machine [−][src]
pub struct Machine<C, E> { /* fields omitted */ }Expand description
Spawns a thread in a new network namespace and configures a TUN interface that sends and receives IP packets from the tx/rx channels and runs some UDP/TCP networking code in task.
Implementations
impl<C, E> Machine<C, E> where
C: Display + Send + 'static,
E: FromStr + Send + 'static,
E::Err: Debug + Display + Send + Sync, [src]
impl<C, E> Machine<C, E> where
C: Display + Send + 'static,
E: FromStr + Send + 'static,
E::Err: Debug + Display + Send + Sync, [src]pub async fn new(id: MachineId, plug: Plug, cmd: Command) -> Self[src]
pub fn id(&self) -> MachineId[src]
pub fn addr(&self) -> Ipv4Addr[src]
pub fn mask(&self) -> u8[src]
pub async fn set_addr(&mut self, addr: Ipv4Addr, mask: u8)[src]
pub fn send(&self, cmd: C)[src]
pub async fn recv(&mut self) -> Option<E>[src]
pub fn up(&self)[src]
pub fn down(&self)[src]
pub fn namespace(&self) -> Namespace[src]
Trait Implementations
Auto Trait Implementations
impl<C, E> !RefUnwindSafe for Machine<C, E>
impl<C, E> Send for Machine<C, E> where
C: Send,
E: Send,
C: Send,
E: Send,
impl<C, E> Sync for Machine<C, E> where
C: Send,
E: Send,
C: Send,
E: Send,
impl<C, E> Unpin for Machine<C, E>
impl<C, E> !UnwindSafe for Machine<C, E>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T[src]
impl<T> Instrument for T[src]fn instrument(self, span: Span) -> Instrumented<Self>[src]
fn instrument(self, span: Span) -> Instrumented<Self>[src]Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>[src]
fn in_current_span(self) -> Instrumented<Self>[src]impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,