pub struct SubscriptionState {
pub manager: Arc<SubscriptionManager>,
pub lifecycle: Arc<dyn SubscriptionLifecycle>,
pub max_subscriptions_per_connection: Option<u32>,
pub remote_subscription_fields: Arc<HashMap<String, String>>,
}Expand description
State for subscription WebSocket handler.
Fields§
§manager: Arc<SubscriptionManager>Subscription manager.
lifecycle: Arc<dyn SubscriptionLifecycle>Lifecycle hooks.
max_subscriptions_per_connection: Option<u32>Maximum subscriptions per connection (None = unlimited).
remote_subscription_fields: Arc<HashMap<String, String>>Subscription fields owned by remote subgraphs.
Maps root subscription field name to the subgraph WebSocket URL.
Empty when federation is disabled or no remote subscription fields are declared.
Implementations§
Source§impl SubscriptionState
impl SubscriptionState
Sourcepub fn new(manager: Arc<SubscriptionManager>) -> Self
pub fn new(manager: Arc<SubscriptionManager>) -> Self
Create new subscription state.
Sourcepub fn with_lifecycle(self, lifecycle: Arc<dyn SubscriptionLifecycle>) -> Self
pub fn with_lifecycle(self, lifecycle: Arc<dyn SubscriptionLifecycle>) -> Self
Set lifecycle hooks.
Sourcepub const fn with_max_subscriptions(self, max: Option<u32>) -> Self
pub const fn with_max_subscriptions(self, max: Option<u32>) -> Self
Set maximum subscriptions per connection.
Sourcepub fn with_remote_subscription_fields(
self,
fields: HashMap<String, String>,
) -> Self
pub fn with_remote_subscription_fields( self, fields: HashMap<String, String>, ) -> Self
Set remote subscription fields (federation passthrough).
Maps subscription field names to the owning subgraph’s WebSocket URL.
Trait Implementations§
Source§impl Clone for SubscriptionState
impl Clone for SubscriptionState
Source§fn clone(&self) -> SubscriptionState
fn clone(&self) -> SubscriptionState
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 !RefUnwindSafe for SubscriptionState
impl !UnwindSafe for SubscriptionState
impl Freeze for SubscriptionState
impl Send for SubscriptionState
impl Sync for SubscriptionState
impl Unpin for SubscriptionState
impl UnsafeUnpin for SubscriptionState
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,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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