Skip to main content

Server

Struct Server 

Source
pub struct Server<M> { /* private fields */ }
Expand description

Holds all information needed to creating and running a single Tunneler-Server

Implementations§

Source§

impl Server<Empty>

Source

pub fn new(listen_port: u32, port_strategy: Strategy, key: Vec<u8>) -> Self

Creates a new Server-Instance from the given Data

Params:

  • listen_port: The Port clients will connect to
  • port_strategy: The Strategy to determine if a port a client wants to use is valid
  • key: The Key/Password clients need to connect to the server
Source§

impl<M> Server<M>
where M: Metrics,

Source

pub fn new_metrics( listen_port: u32, port_strategy: Strategy, key: Vec<u8>, p_metrics: M, ) -> Self

Creates a new Server-Instance from the given Data

Params:

  • listen_port: The Port clients will connect to
  • port_strategy: The Strategy to determine if a port a client wants to use is valid
  • key: The Key/Password clients need to connect to the server
  • p_metrics: The Metrics-Collector to use
Source

pub async fn listen(self) -> Result<(), ()>

Actually starts the Server and starts listening for incoming Connections from both users and clients.

§Behaviour

This function is not expected to return as all the connections will be handled internally or by other parts of the System, so this one can keep accepting new ones

Trait Implementations§

Source§

impl<M: Debug> Debug for Server<M>

Source§

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

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

impl<M: PartialEq> PartialEq for Server<M>

Source§

fn eq(&self, other: &Server<M>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl<M: PartialEq> StructuralPartialEq for Server<M>

Auto Trait Implementations§

§

impl<M> Freeze for Server<M>

§

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

§

impl<M> Send for Server<M>
where M: Sync + Send,

§

impl<M> Sync for Server<M>
where M: Sync + Send,

§

impl<M> Unpin for Server<M>

§

impl<M> UnsafeUnpin for Server<M>

§

impl<M> UnwindSafe for Server<M>
where M: RefUnwindSafe,

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more