pub struct CrossProtocolStateConfig {
pub state_model: String,
pub share_state_across: Vec<Protocol>,
pub enabled: bool,
}Expand description
Cross-protocol state sharing configuration
Ensures that HTTP, WebSocket, gRPC, TCP, and webhooks all use the same backing persona graph and unified state when configured.
Fields§
§state_model: StringState model identifier (e.g., “ecommerce_v1”, “finance_v1”)
This identifies the shared state model that defines how personas and entities are related across protocols.
List of protocols that should share state
When a protocol is included, it will use the same persona graph and unified state as other protocols in this list.
enabled: boolWhether cross-protocol state sharing is enabled
Implementations§
Source§impl CrossProtocolStateConfig
impl CrossProtocolStateConfig
Sourcepub fn add_protocol(self, protocol: Protocol) -> Self
pub fn add_protocol(self, protocol: Protocol) -> Self
Add a protocol to share state across
Sourcepub fn with_protocols(self, protocols: Vec<Protocol>) -> Self
pub fn with_protocols(self, protocols: Vec<Protocol>) -> Self
Set the list of protocols to share state across
Check if a protocol should share state
Trait Implementations§
Source§impl Clone for CrossProtocolStateConfig
impl Clone for CrossProtocolStateConfig
Source§fn clone(&self) -> CrossProtocolStateConfig
fn clone(&self) -> CrossProtocolStateConfig
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 CrossProtocolStateConfig
impl Debug for CrossProtocolStateConfig
Source§impl Default for CrossProtocolStateConfig
impl Default for CrossProtocolStateConfig
Source§impl<'de> Deserialize<'de> for CrossProtocolStateConfig
impl<'de> Deserialize<'de> for CrossProtocolStateConfig
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
Source§impl JsonSchema for CrossProtocolStateConfig
impl JsonSchema for CrossProtocolStateConfig
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for CrossProtocolStateConfig
impl RefUnwindSafe for CrossProtocolStateConfig
impl Send for CrossProtocolStateConfig
impl Sync for CrossProtocolStateConfig
impl Unpin for CrossProtocolStateConfig
impl UnwindSafe for CrossProtocolStateConfig
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