pub struct DispatchClosure<C, T, R, H, F>where
C: Codec,
T: ServerTaskDecode<R>,
R: ServerTaskResp,
H: FnOnce(T) -> F + Send + Sync + 'static + Clone,
F: Future<Output = Result<(), ()>> + Send + 'static,{ /* private fields */ }Expand description
A Dispatch trait impl with a closure, only useful for writing tests.
NOTE: The closure requires Clone.
§Example
use razor_stream::server::{ServerFacts, Dispatch};
impl ServerFacts for YourServer {
...
#[inline]
fn new_dispatcher(&self) -> impl Dispatch<Self::RespTask> {
let dispatch_f = move |task: FileServerTask| {
async move {
todo!();
}
}
return DispatchClosure::<MsgpCodec, YourServerTask, Self::RespTask, _, _>::new(
dispatch_f,
);
}
}Implementations§
Trait Implementations§
Source§impl<C, T, R, H, F> Clone for DispatchClosure<C, T, R, H, F>
impl<C, T, R, H, F> Clone for DispatchClosure<C, T, R, H, F>
Source§impl<C, T, R, H, F> Dispatch for DispatchClosure<C, T, R, H, F>
impl<C, T, R, H, F> Dispatch for DispatchClosure<C, T, R, H, F>
Auto Trait Implementations§
impl<C, T, R, H, F> Freeze for DispatchClosure<C, T, R, H, F>where
H: Freeze,
impl<C, T, R, H, F> RefUnwindSafe for DispatchClosure<C, T, R, H, F>where
H: RefUnwindSafe,
impl<C, T, R, H, F> Send for DispatchClosure<C, T, R, H, F>
impl<C, T, R, H, F> Sync for DispatchClosure<C, T, R, H, F>
impl<C, T, R, H, F> Unpin for DispatchClosure<C, T, R, H, F>where
H: Unpin,
impl<C, T, R, H, F> UnwindSafe for DispatchClosure<C, T, R, H, F>where
H: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more