pub struct DistributedContext {
pub session_id: String,
pub data: HashMap<String, Value>,
pub metadata: ContextMetadata,
}Expand description
A distributed context that can be serialized and shared across services
Fields§
§session_id: StringUnique session identifier
data: HashMap<String, Value>Context data
metadata: ContextMetadataMetadata for tracking
Implementations§
Source§impl DistributedContext
impl DistributedContext
Sourcepub fn new(session_id: impl Into<String>) -> Self
pub fn new(session_id: impl Into<String>) -> Self
Create a new distributed context
§Example
use rust_logic_graph::distributed::DistributedContext;
let context = DistributedContext::new("session-123");
assert_eq!(context.session_id, "session-123");Sourcepub fn serialize(&self) -> Result<Vec<u8>>
pub fn serialize(&self) -> Result<Vec<u8>>
Serialize context to bytes for transmission
Uses MessagePack for efficient binary serialization
Sourcepub fn deserialize(bytes: &[u8]) -> Result<Self>
pub fn deserialize(bytes: &[u8]) -> Result<Self>
Deserialize context from bytes
Sourcepub fn snapshot(&self) -> ContextSnapshot
pub fn snapshot(&self) -> ContextSnapshot
Create a snapshot of current context state
Sourcepub fn merge(&mut self, other: &DistributedContext)
pub fn merge(&mut self, other: &DistributedContext)
Merge another context into this one
Performs a simple merge where newer values win
Sourcepub fn set_modified_by(&mut self, service: impl Into<String>)
pub fn set_modified_by(&mut self, service: impl Into<String>)
Set the service that modified this context
Trait Implementations§
Source§impl Clone for DistributedContext
impl Clone for DistributedContext
Source§fn clone(&self) -> DistributedContext
fn clone(&self) -> DistributedContext
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DistributedContext
impl Debug for DistributedContext
Source§impl<'de> Deserialize<'de> for DistributedContext
impl<'de> Deserialize<'de> for DistributedContext
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for DistributedContext
impl RefUnwindSafe for DistributedContext
impl Send for DistributedContext
impl Sync for DistributedContext
impl Unpin for DistributedContext
impl UnwindSafe for DistributedContext
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more