pub struct SyncHandler<Req, State, Res> {
pub name: &'static str,
pub module_name: &'static str,
/* private fields */
}Expand description
Type-erased synchronous handler wrapper.
Uses raw pointers and monomorphized function pointers to achieve type erasure
without requiring 'static bounds on Req, State, Res, or the handler’s
type parameter T. It gives up the async nature of Handler (its future is
always Ready), in exchange boxing nothing per call and enabling the dual-state
trick (WithSubState).
The caller is responsible for ensuring soundness.
Fields§
§name: &'static strThe handler’s name. It is often function name.
module_name: &'static strThe module the handler was registered from. It is often produced by module_path!().
Implementations§
Trait Implementations§
Source§impl<Req, SubState, Target, Res> Call<Req, Target, Res> for SyncHandler<Req, SubState, Res>
impl<Req, SubState, Target, Res> Call<Req, Target, Res> for SyncHandler<Req, SubState, Res>
Source§impl<Req, State, Res> Clone for SyncHandler<Req, State, Res>
impl<Req, State, Res> Clone for SyncHandler<Req, State, Res>
Source§impl<Req, State, Res> Drop for SyncHandler<Req, State, Res>
impl<Req, State, Res> Drop for SyncHandler<Req, State, Res>
impl<Req, State, Res> Send for SyncHandler<Req, State, Res>
Safety: the stored handler satisfies Send + Sync via the Handler trait bound.
impl<Req, State, Res> Sync for SyncHandler<Req, State, Res>
Safety: the stored handler satisfies Send + Sync via the Handler trait bound.
Auto Trait Implementations§
impl<Req, State, Res> Freeze for SyncHandler<Req, State, Res>
impl<Req, State, Res> RefUnwindSafe for SyncHandler<Req, State, Res>
impl<Req, State, Res> Unpin for SyncHandler<Req, State, Res>
impl<Req, State, Res> UnsafeUnpin for SyncHandler<Req, State, Res>
impl<Req, State, Res> UnwindSafe for SyncHandler<Req, State, Res>
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
impl<T> CloneAny for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoResponse<T> for Twhere
T: Send,
impl<T> IntoResponse<T> for Twhere
T: Send,
Source§fn into_response(self) -> T
fn into_response(self) -> T
Convert this value into a response.