pub struct Payload<T>(pub T);Expand description
A typed wrapper around a deserialized job payload.
Use Payload<T> as a parameter in job handler functions to receive the
deserialized payload. T must implement serde::de::DeserializeOwned.
Payload<T> implements Deref<Target = T>, so methods on T are
accessible directly without .0.
§Example
use modo::job::Payload;
use serde::Deserialize;
#[derive(Deserialize)]
struct WelcomePayload { user_id: String }
async fn handle(payload: Payload<WelcomePayload>) -> modo::Result<()> {
println!("user_id = {}", payload.user_id);
Ok(())
}Tuple Fields§
§0: TTrait Implementations§
Source§impl<T: DeserializeOwned> FromJobContext for Payload<T>
impl<T: DeserializeOwned> FromJobContext for Payload<T>
Source§fn from_job_context(ctx: &JobContext) -> Result<Self>
fn from_job_context(ctx: &JobContext) -> Result<Self>
Extract
Self from the job context, returning an error if extraction
fails. Read moreAuto Trait Implementations§
impl<T> Freeze for Payload<T>where
T: Freeze,
impl<T> RefUnwindSafe for Payload<T>where
T: RefUnwindSafe,
impl<T> Send for Payload<T>where
T: Send,
impl<T> Sync for Payload<T>where
T: Sync,
impl<T> Unpin for Payload<T>where
T: Unpin,
impl<T> UnsafeUnpin for Payload<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Payload<T>where
T: 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