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

connectionId string

The connection identifier.

subscriptionId string

The subscription identifier.

RecordPingSent(string, string)

Updates the last ping sent timestamp for a subscription.

public void RecordPingSent(string connectionId, string subscriptionId)

Parameters

connectionId string

The connection identifier.

subscriptionId string

The subscription identifier.

RecordPongReceived(string, string)

Updates the last pong received timestamp for a subscription.

public void RecordPongReceived(string connectionId, string subscriptionId)

Parameters

connectionId string

The connection identifier.

subscriptionId string

The subscription identifier.

RegisterSubscription(string, string, QuerySubscriptionMetadata)

Registers a new subscription.

public void RegisterSubscription(string connectionId, string protocol, QuerySubscriptionMetadata metadata)

Parameters

connectionId string

The connection identifier.

protocol string

The connection protocol (WebSocket or SSE).

metadata QuerySubscriptionMetadata

The subscription metadata.

RemoveConnection(string)

Removes all subscriptions for a connection.

public void RemoveConnection(string connectionId)

Parameters

connectionId string

The connection identifier.

UnregisterSubscription(string, string)

Unregisters a subscription.

public void UnregisterSubscription(string connectionId, string subscriptionId)

Parameters

connectionId string

The connection identifier.

subscriptionId string

The subscription identifier.