Struct pea2pea::connections::Connection[][src]

pub struct Connection {
    pub node: Node,
    pub addr: SocketAddr,
    pub reader: Option<OwnedReadHalf>,
    pub writer: Option<OwnedWriteHalf>,
    pub tasks: Vec<JoinHandle<()>>,
    pub outbound_message_sender: Option<Sender<Bytes>>,
    pub side: ConnectionSide,
}

Keeps track of tasks that have been spawned for the purposes of a connection; it also contains a sender that communicates with the Writing protocol handler.

Fields

node: Node

A reference to the owning node.

addr: SocketAddr

The address of the connection.

reader: Option<OwnedReadHalf>

Kept only until the protocols are enabled (Reading should take() it).

writer: Option<OwnedWriteHalf>

Kept only until the protocols are enabled (Writing should take() it).

tasks: Vec<JoinHandle<()>>

Handles to tasks spawned by the connection.

outbound_message_sender: Option<Sender<Bytes>>

Used to queue writes to the stream.

side: ConnectionSide

The connection's side in relation to the node.

Implementations

impl Connection[src]

pub fn reader(&mut self) -> &mut OwnedReadHalf[src]

Provides mutable access to the underlying reader; it should only be used in protocol definitions.

pub fn writer(&mut self) -> &mut OwnedWriteHalf[src]

Provides mutable access to the underlying writer; it should only be used in protocol definitions.

Trait Implementations

impl Drop for Connection[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.