Struct tentacle::service::ProtocolMeta[][src]

pub struct ProtocolMeta { /* fields omitted */ }

Define the minimum data required for a custom protocol

Implementations

impl ProtocolMeta[src]

pub fn id(&self) -> ProtocolId[src]

Protocol id

pub fn name(&self) -> String[src]

Protocol name, default is “/p2p/protocol_id”

pub fn support_versions(&self) -> Vec<String>[src]

Protocol supported version

pub fn codec(&self) -> Box<dyn Codec + Send + 'static>[src]

The codec used by the custom protocol, such as LengthDelimitedCodec by tokio

pub fn service_handle(
    &mut self
) -> ProtocolHandle<Box<dyn ServiceProtocol + Send + Unpin + 'static>>
[src]

A service level callback handle for a protocol.


Behavior

This function is called when the protocol is first opened in the service and remains in memory until the entire service is closed.

Warning

Only can be called once, and will return ProtocolHandle::None or later.

pub fn session_handle(
    &mut self
) -> ProtocolHandle<Box<dyn SessionProtocol + Send + Unpin + 'static>>
[src]

A session level callback handle for a protocol.


Behavior

When a session is opened, whenever the protocol of the session is opened, the function will be called again to generate the corresponding exclusive handle.

Correspondingly, whenever the protocol is closed, the corresponding exclusive handle is cleared.

pub fn blocking_flag(&self) -> BlockingFlag[src]

Control whether the protocol handle method requires blocking to run

Auto Trait Implementations

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

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.

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

Performs the conversion.

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.

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

Performs the conversion.

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

pub fn vzip(self) -> V