Trait netsim::node::ipv6::Ipv6Node [−][src]
pub trait Ipv6Node: Sized { type Output: Send + 'static; fn build(
self,
handle: &NetworkHandle,
ipv6_range: Ipv6Range
) -> (SpawnComplete<Self::Output>, Ipv6Plug); }
An Ipv6Node
describes a recipe for constructing a network when given the IP range that the
network should operate on. The functions in the node::ipv6
module return Ipv6Node
s that you
can run as a network with the spawn::network_ipv6
function.
Associated Types
Required Methods
fn build(
self,
handle: &NetworkHandle,
ipv6_range: Ipv6Range
) -> (SpawnComplete<Self::Output>, Ipv6Plug)
self,
handle: &NetworkHandle,
ipv6_range: Ipv6Range
) -> (SpawnComplete<Self::Output>, Ipv6Plug)
Consume the Ipv6Node
and build the network it describes. Returns a SpawnComplete
that
can be used to join the spawned thread and an Ipv6Plug
that can be used to read-write
packets to the head node of the network.
Implementors
impl<N> Ipv6Node for LatencyNode<N> where
N: Ipv6Node, type Output = N::Output;impl<N> Ipv6Node for PacketLossNode<N> where
N: Ipv6Node, type Output = N::Output;impl<R, F> Ipv6Node for MachineNode<F> where
R: Send + 'static,
F: FnOnce(Ipv6Addr) -> R + Send + 'static, type Output = R;