pub struct SessionContext {
pub session_id: String,
pub metadata: HashMap<String, Value>,
pub broadcaster: Option<Arc<dyn Any + Send + Sync>>,
pub timestamp: u64,
pub extensions: HashMap<String, Value>,
}Expand description
Minimal session context for JSON-RPC handlers.
Provides basic session information without imposing a transport.
Designed to be passed by value (it is Clone) into handlers.
§Field semantics
session_id: opaque session identifier; format is caller’s choice.metadata: free-form key/value bag, persisted by the caller’s session storage if any.broadcaster: optional type-erased back-channel installed by the transport. Stored asArc<dyn Any + Send + Sync>so this crate does not depend on any specific notification channel implementation. Downstream code (e.g. an MCP server) downcasts to its own concrete type.timestamp: Unix milliseconds when the context was created.extensions: request-scoped key/value bag for auth claims, middleware data, etc. Populated by the transport layer; never persisted.
Fields§
§session_id: StringUnique session identifier.
metadata: HashMap<String, Value>Session metadata.
broadcaster: Option<Arc<dyn Any + Send + Sync>>Optional type-erased broadcaster for session notifications.
Stored as Arc<dyn Any> to avoid coupling this crate to any
specific notification channel type. Transport layers downcast as
needed.
timestamp: u64Session timestamp (Unix milliseconds).
extensions: HashMap<String, Value>Request-scoped extensions (auth claims, middleware data).
Populated by the transport layer; never persisted to session
storage by turul-rpc.
Trait Implementations§
Source§impl Clone for SessionContext
impl Clone for SessionContext
Source§fn clone(&self) -> SessionContext
fn clone(&self) -> SessionContext
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SessionContext
impl !RefUnwindSafe for SessionContext
impl Send for SessionContext
impl Sync for SessionContext
impl Unpin for SessionContext
impl UnsafeUnpin for SessionContext
impl !UnwindSafe for SessionContext
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