Skip to main content

Consomme

Struct Consomme 

Source
pub struct Consomme { /* private fields */ }
Expand description

A consomme instance.

Implementations§

Source§

impl Consomme

Source

pub fn new(params: ConsommeParams) -> Self

Creates a new consomme instance with specified state.

Source

pub fn params_mut(&mut self) -> &mut ConsommeParams

Get access to the parameters to be updated.

FUTURE: add support for updating only the parameters that can be safely changed at runtime.

Source

pub fn clear_local_addr_map(&mut self)

Clears the local address mapping table. Call this after changing the network configuration (e.g., via ConsommeParams::set_cidr) to avoid stale or conflicting virtual address mappings.

Some in-flight packets may be lost during the transition; this is acceptable.

Source

pub fn add_dns_record( &mut self, record: StaticDnsRecord, name: &str, ) -> Result<(), StaticDnsRecordError>

Adds a static DNS record that will be returned directly if the guest sends a matching query.

Source

pub fn create_virtual_address(&mut self, destination: IpAddr) -> Option<IpAddr>

Allocates a virtual address within this endpoint’s subnet and routes guest traffic sent to it to destination on the host. Returns None if the subnet’s virtual address pool is exhausted.

Source

pub fn access<'a, T: Client>(&'a mut self, client: &'a mut T) -> Access<'a, T>

Pairs the client with this instance to operate on the consomme instance.

Trait Implementations§

Source§

impl InspectMut for Consomme

Source§

fn inspect_mut(&mut self, req: Request<'_>)

Inspects the object.

Auto Trait Implementations§

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
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.

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> 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