netemul

Struct TestEndpoint

Source
pub struct TestEndpoint<'a> { /* private fields */ }
Expand description

A virtual network endpoint backed by Netemul.

Implementations§

Source§

impl<'a> TestEndpoint<'a>

Source

pub fn into_proxy(self) -> EndpointProxy

Extracts the proxy to the backing endpoint.

Note that this defeats the lifetime semantics that ensure the sandbox in which this endpoint was created lives as long as the endpoint. The caller of TestEndpoint::into_proxy is responsible for ensuring that the sandbox outlives the endpoint.

Source

pub async fn get_netdevice( &self, ) -> Result<(ClientEnd<DeviceMarker>, PortId), Error>

Gets access to this device’s virtual Network device.

Note that an error is returned if the Endpoint is not a [fnetemul_network::DeviceConnection::NetworkDevice].

Source

pub async fn install( &self, installer: InstallerProxy, __arg2: InterfaceConfig<'_>, ) -> Result<(u64, Control, DeviceControlProxy), Error>

Installs the TestEndpoint via the provided fnet_interfaces_admin::InstallerProxy.

Returns the interface ID, and the associated interface [Control] and fnet_interfaces_admin::DeviceControlProxy on success.

Source

pub async fn add_to_stack( &self, realm: &TestRealm<'a>, config: InterfaceConfig<'a>, ) -> Result<(u64, Control, DeviceControlProxy), Error>

Adds the TestEndpoint to the provided realm with an optional interface name.

Returns the interface ID and control protocols on success.

Source

pub async fn into_interface_in_realm( self, realm: &TestRealm<'a>, ) -> Result<TestInterface<'a>, Error>

Like into_interface_realm_with_name but with default parameters.

Source

pub async fn into_interface_in_realm_with_name( self, realm: &TestRealm<'a>, config: InterfaceConfig<'a>, ) -> Result<TestInterface<'a>, Error>

Consumes this TestEndpoint and tries to add it to the Netstack in realm, returning a TestInterface on success.

Methods from Deref<Target = EndpointProxy>§

Source

pub fn take_event_stream(&self) -> EndpointEventStream

Get a Stream of events from the remote end of the protocol.

§Panics

Panics if the event stream was already taken.

Source

pub fn get_config(&self) -> QueryResponseFut<EndpointConfig>

Source

pub fn get_name(&self) -> QueryResponseFut<String>

Gets endpoint name.

Sends link up or down signal

Source

pub fn get_port(&self, port: ServerEnd<PortMarker>) -> Result<(), Error>

Connects to the underlying device port.

Source

pub fn get_proxy_( &self, proxy: ServerEnd<DeviceProxy_Marker>, ) -> Result<(), Error>

Gets a proxy to open requests with zircon ethernet device.

Trait Implementations§

Source§

impl<'a> Debug for TestEndpoint<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'a> Deref for TestEndpoint<'a>

Source§

type Target = EndpointProxy

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

impl<'a> Freeze for TestEndpoint<'a>

§

impl<'a> !RefUnwindSafe for TestEndpoint<'a>

§

impl<'a> Send for TestEndpoint<'a>

§

impl<'a> Sync for TestEndpoint<'a>

§

impl<'a> Unpin for TestEndpoint<'a>

§

impl<'a> !UnwindSafe for TestEndpoint<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IntoAny for T
where T: 'static + Send + Sync,

§

fn into_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Cast the given object into a dyn std::any::Any.
§

impl<T, U> IntoExt<U> for T
where U: FromExt<T>,

§

fn into_ext(self) -> U

Performs the conversion.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoExt<U> for T
where U: TryFromExt<T>,

§

type Error = <U as TryFromExt<T>>::Error

§

fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>

Tries to perform the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<St> WithTag for St

§

fn tagged<T>(self, tag: T) -> Tagged<T, St>

Produce a new stream from this one which yields item tupled with a constant tag