virtio_drivers::device::socket

Struct ConnectionInfo

Source
pub struct ConnectionInfo {
    pub dst: VsockAddr,
    pub src_port: u32,
    pub buf_alloc: u32,
    /* private fields */
}
Expand description

Information about a particular vsock connection.

Fields§

§dst: VsockAddr

The address of the peer.

§src_port: u32

The local port number associated with the connection.

§buf_alloc: u32

The number of bytes of buffer space we have allocated to receive packet bodies from the peer.

Implementations§

Source§

impl ConnectionInfo

Source

pub fn new(destination: VsockAddr, src_port: u32) -> Self

Creates a new ConnectionInfo for the given peer address and local port, and default values for everything else.

Source

pub fn update_for_event(&mut self, event: &VsockEvent)

Updates this connection info with the peer buffer allocation and forwarded count from the given event.

Source

pub fn done_forwarding(&mut self, length: usize)

Increases the forwarded count recorded for this connection by the given number of bytes.

This should be called once received data has been passed to the client, so there is buffer space available for more.

Trait Implementations§

Source§

impl Clone for ConnectionInfo

Source§

fn clone(&self) -> ConnectionInfo

Returns a copy of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ConnectionInfo

Source§

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

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

impl Default for ConnectionInfo

Source§

fn default() -> ConnectionInfo

Returns the “default value” for a type. Read more
Source§

impl PartialEq for ConnectionInfo

Source§

fn eq(&self, other: &ConnectionInfo) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ConnectionInfo

Source§

impl StructuralPartialEq for ConnectionInfo

Auto Trait Implementations§

§

impl Freeze for ConnectionInfo

§

impl RefUnwindSafe for ConnectionInfo

§

impl Send for ConnectionInfo

§

impl Sync for ConnectionInfo

§

impl Unpin for ConnectionInfo

§

impl UnwindSafe for ConnectionInfo

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.