Class QueryHealthTracker
- Namespace
- Cratis.Arc.Queries
- Assembly
- Cratis.Arc.Core.dll
Represents an implementation of IQueryHealthTracker.
[Singleton]
public sealed class QueryHealthTracker : IQueryHealthTracker, IDisposable
- Inheritance
-
QueryHealthTracker
- Implements
- Inherited Members
- Extension Methods
Constructors
QueryHealthTracker()
public QueryHealthTracker()
Methods
Dispose()
public void Dispose()
GetAllConnectionHealth()
Gets all connection health information.
public IEnumerable<QueryConnectionHealth> GetAllConnectionHealth()
Returns
- IEnumerable<QueryConnectionHealth>
Collection of query connection health.
ObserveHealth()
Gets an observable stream of connection health updates.
public ISubject<IEnumerable<QueryConnectionHealth>> ObserveHealth()
Returns
- ISubject<IEnumerable<QueryConnectionHealth>>
Observable subject emitting connection health snapshots.
RecordDataServed(string, string)
Updates the last data served timestamp for a subscription.
public void RecordDataServed(string connectionId, string subscriptionId)
Parameters
RecordPingSent(string, string)
Updates the last ping sent timestamp for a subscription.
public void RecordPingSent(string connectionId, string subscriptionId)
Parameters
RecordPongReceived(string, string)
Updates the last pong received timestamp for a subscription.
public void RecordPongReceived(string connectionId, string subscriptionId)
Parameters
RegisterSubscription(string, string, QuerySubscriptionMetadata)
Registers a new subscription.
public void RegisterSubscription(string connectionId, string protocol, QuerySubscriptionMetadata metadata)
Parameters
connectionIdstringThe connection identifier.
protocolstringThe connection protocol (WebSocket or SSE).
metadataQuerySubscriptionMetadataThe subscription metadata.
RemoveConnection(string)
Removes all subscriptions for a connection.
public void RemoveConnection(string connectionId)
Parameters
connectionIdstringThe connection identifier.
UnregisterSubscription(string, string)
Unregisters a subscription.
public void UnregisterSubscription(string connectionId, string subscriptionId)