Skip to main content

Server

Struct Server 

Source
pub struct Server<C> {
    pub router: Router<C>,
    pub key: ListenerKey,
    pub allow_non_in: bool,
    pub debug: bool,
    pub udp_workers: usize,
    pub logger: fn(Error),
    /* private fields */
}
Expand description

One Listener’s routing, admission and Plugin Chain execution.

Fields§

§router: Router<C>§key: ListenerKey§allow_non_in: bool§debug: bool§udp_workers: usize§logger: fn(Error)

Implementations§

Source§

impl<C: Chain> Server<C>

Source

pub fn new(router: Router<C>, key: ListenerKey) -> Self

Source

pub fn with_registry( router: Router<C>, key: ListenerKey, metrics: Registry, ) -> Self

Source

pub fn metrics(&self) -> &Registry

Trait Implementations§

Source§

impl<C: Chain> Handler for Server<C>

Source§

fn udp_workers(&self) -> usize

Number of UDP worker sockets for this Listener.
Source§

fn parallel_query( &self, wire: &[u8], peer: SocketAddr, ) -> Option<Receiver<bool>>

Whether this HINFO Query must run concurrently with UDP reception.
Source§

async fn handle( &self, wire: &[u8], peer: SocketAddr, protocol: Protocol, response: &mut Vec<u8>, ) -> Action

Source§

async fn handle_shared( self: &Arc<Self>, wire: &[u8], peer: SocketAddr, protocol: Protocol, response: &mut Vec<u8>, ) -> Action

Handle a Query while retaining access to the Listener’s owned state.

Auto Trait Implementations§

§

impl<C> Forget for Server<C>

§

impl<C> Freeze for Server<C>
where Router<C>: Freeze,

§

impl<C> Move for Server<C>

§

impl<C> RefUnwindSafe for Server<C>

§

impl<C> Send for Server<C>
where Router<C>: Send,

§

impl<C> Sync for Server<C>
where Router<C>: Sync,

§

impl<C> Unpin for Server<C>
where Router<C>: Unpin,

§

impl<C> UnsafeUnpin for Server<C>
where Router<C>: UnsafeUnpin,

§

impl<C> UnwindSafe for Server<C>
where Router<C>: UnwindSafe,

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.

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

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

fn try_from(value: U) -> Result<T, !>

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.