pub struct Server<Listener, Source> { /* private fields */ }
Expand description
An RTR server.
The server takes a stream socket listener – a stream of new sockets – and
a VRP source and serves RTR data. In order to also serve notifications
whenever new data is available, the server uses a notification dispatch
system via the Dispatch
system.
Implementations
sourceimpl<Listener, Source> Server<Listener, Source>
impl<Listener, Source> Server<Listener, Source>
sourcepub fn new(listener: Listener, notify: NotifySender, source: Source) -> Self
pub fn new(listener: Listener, notify: NotifySender, source: Source) -> Self
Creates a new RTR server from its components.
sourcepub async fn run<Sock>(self) -> Result<(), Error>where
Listener: Stream<Item = Result<Sock, Error>> + Unpin,
Sock: AsyncRead + AsyncWrite + Unpin + Sync + Send + 'static,
Source: VrpSource,
pub async fn run<Sock>(self) -> Result<(), Error>where
Listener: Stream<Item = Result<Sock, Error>> + Unpin,
Sock: AsyncRead + AsyncWrite + Unpin + Sync + Send + 'static,
Source: VrpSource,
Runs the server.
The asynchronous function will return successfully when the listener socket (which is a stream over new connectons) finishes. It will return with an error if the listener socket errors out.
Auto Trait Implementations
impl<Listener, Source> !RefUnwindSafe for Server<Listener, Source>
impl<Listener, Source> Send for Server<Listener, Source>where
Listener: Send,
Source: Send,
impl<Listener, Source> Sync for Server<Listener, Source>where
Listener: Sync,
Source: Sync,
impl<Listener, Source> Unpin for Server<Listener, Source>where
Listener: Unpin,
Source: Unpin,
impl<Listener, Source> !UnwindSafe for Server<Listener, Source>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more