pub struct RequestContext<'a, S> {
pub state: &'a S,
pub destination: DestinationHash,
pub data: &'a [u8],
pub requester: Option<IdentityHash>,
pub requested_at: InstantMillis,
/* private fields */
}Fields§
§state: &'a S§destination: DestinationHash§data: &'a [u8]§requester: Option<IdentityHash>§requested_at: InstantMillisImplementations§
Source§impl<S> RequestContext<'_, S>
impl<S> RequestContext<'_, S>
Sourcepub fn respond(&mut self, data: impl AsRef<[u8]>) -> Result<(), Decline>
pub fn respond(&mut self, data: impl AsRef<[u8]>) -> Result<(), Decline>
Send a normal application response exactly as supplied.
This is the default for text, protocol messages, and arbitrary byte payloads:
context.respond("pong")RNS calls this payload “packed”, but it does not require MessagePack. Use
respond_messagepack_bytes only when the peer
specifically expects a MessagePack bin value, and the file methods only for
named-file/resource semantics.
Sourcepub fn respond_messagepack_bytes(&mut self, bytes: &[u8]) -> Result<(), Decline>
pub fn respond_messagepack_bytes(&mut self, bytes: &[u8]) -> Result<(), Decline>
Encode bytes as one MessagePack bin value before responding.
Sourcepub fn respond_static_messagepack_bytes(
&mut self,
bytes: &'static [u8],
) -> Result<(), Decline>
pub fn respond_static_messagepack_bytes( &mut self, bytes: &'static [u8], ) -> Result<(), Decline>
Encode static bytes as one MessagePack bin value without first copying the source.
Sourcepub fn respond_static_file(
&mut self,
name: &'static str,
bytes: &'static [u8],
) -> Result<(), Decline>
pub fn respond_static_file( &mut self, name: &'static str, bytes: &'static [u8], ) -> Result<(), Decline>
Respond with a Reticulum Resource whose metadata names the file for native clients.
The bytes remain borrowed from static storage; resource segmentation copies only the current transfer window into the outgoing resource buffer.
pub fn write_packed( &mut self, bytes: &[u8], ) -> Result<&mut Self, ResponseCapacityExceeded>
Sourcepub fn respond_token(&self) -> RespondToken
pub fn respond_token(&self) -> RespondToken
The token to answer this request later. You can keep it, return Err(Decline::Ignore) now, and answer from another task through the platform command handle.
In this context, “keeping it” usually means capturing it somewhere in your AppState