Struct Server

Source
pub struct Server<O>
where O: Options + Clone,
{ /* private fields */ }
Expand description

A Server wrapping a TcpListener, with utils for accepting new clients.

Implementations§

Source§

impl<O> Server<O>
where O: Options + Clone + Send,

Source

pub async fn bind<A: ToSocketAddrs>( addr: A, bincode_opts: O, ) -> Result<Server<O>, BindServerError>

Binds the server to the provided adress. The server does not listen for new connections imediataly, for that you need .listen()

The provided callback will be used when running the server, it is run in a new task, so it can be asynchronously blocking, although should not be non async blocking

§Errors

if it could not sucessfully bind to the provided adress

Source

pub async fn accept<H, M>( &mut self, ) -> Result<ClientConnection<H, M, O>, AcceptConnectionError>

Source

pub fn as_listener(&self) -> &TcpListener

Source

pub fn as_listener_mut(&mut self) -> &mut TcpListener

Source

pub fn into_listener(self) -> TcpListener

Auto Trait Implementations§

§

impl<O> !Freeze for Server<O>

§

impl<O> RefUnwindSafe for Server<O>
where O: RefUnwindSafe,

§

impl<O> Send for Server<O>
where O: Send,

§

impl<O> Sync for Server<O>
where O: Sync,

§

impl<O> Unpin for Server<O>
where O: Unpin,

§

impl<O> UnwindSafe for Server<O>
where O: 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 = 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.