pub struct RequestExtensions { /* private fields */ }Expand description
A neutral type-map for per-request execution metadata.
The library treats this as an opaque slot. It passes extensions to
BudgetManager methods so implementors can extract identity, routing keys,
or any other metadata they need. It also passes extensions to EventHandler
so handlers can inspect them during streaming.
The library treats entries in RequestExtensions as opaque. All entries are
user-defined.
Implementations§
Source§impl RequestExtensions
impl RequestExtensions
pub fn new() -> Self
pub fn insert<T: Any + Send + Sync + 'static>(&mut self, val: T) -> Option<T>
pub fn get<T: Any + Send + Sync + 'static>(&self) -> Option<&T>
pub fn get_mut<T: Any + Send + Sync + 'static>(&mut self) -> Option<&mut T>
pub fn remove<T: Any + Send + Sync + 'static>(&mut self) -> Option<T>
pub fn contains<T: Any + Send + Sync + 'static>(&self) -> bool
Trait Implementations§
Source§impl Default for RequestExtensions
impl Default for RequestExtensions
Source§fn default() -> RequestExtensions
fn default() -> RequestExtensions
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RequestExtensions
impl !RefUnwindSafe for RequestExtensions
impl Send for RequestExtensions
impl Sync for RequestExtensions
impl Unpin for RequestExtensions
impl UnsafeUnpin for RequestExtensions
impl !UnwindSafe for RequestExtensions
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