Table of Contents

Class ResolvedLiveSession

Namespace
DatabentoDotNet.Extensions.Hosting
Assembly
DatabentoDotNet.Extensions.Hosting.dll

A live session's configuration with every value converted to the type the library actually takes. Produced only by LiveSessionResolver.

public sealed record ResolvedLiveSession : IEquatable<ResolvedLiveSession>
Inheritance
ResolvedLiveSession
Implements
Inherited Members

Remarks

Public, and constructible directly, which is what lets LiveSessionRunner be driven by a test with no host, no container and no configuration provider — the property the whole testing strategy rests on.

Properties

ApiKey

The validated API key.

public required ApiKey ApiKey { get; init; }

Property Value

ApiKey

CloseTimeout

The courteous-close ceiling, or null for LiveSessionRunner's own default — see CloseTimeout.

public Duration? CloseTimeout { get; init; }

Property Value

Duration?

Remarks

Null here means "nobody configured one", not "five seconds". A resolved session carries what the configuration said and nothing it did not say; substituting the default here would make this type the second place that number lives, and the runner would still need its own for the constructed-directly case. AddDatabentoLive is where the two meet.

Compression

Session compression.

public Compression Compression { get; init; }

Property Value

Compression

Dataset

The dataset.

public required string Dataset { get; init; }

Property Value

string

Gateway

The gateway, or null to let LiveClient derive it from Dataset.

public EndPoint? Gateway { get; init; }

Property Value

EndPoint

HeartbeatInterval

The heartbeat interval, or null for the gateway's default.

public Duration? HeartbeatInterval { get; init; }

Property Value

Duration?

Name

The session's registration name, which is also its configuration key.

public required string Name { get; init; }

Property Value

string

ReadTimeout

The read timeout, or null for LiveClient's own derivation.

public Duration? ReadTimeout { get; init; }

Property Value

Duration?

Reconnect

The reconnection policy.

public required ResolvedReconnect Reconnect { get; init; }

Property Value

ResolvedReconnect

SendTsOut

Whether the gateway stamps each record with its send time.

public bool SendTsOut { get; init; }

Property Value

bool

SlowReaderBehavior

What the gateway does when this client reads too slowly, or null for its default.

public SlowReaderBehavior? SlowReaderBehavior { get; init; }

Property Value

SlowReaderBehavior?

Subscriptions

The subscriptions to send, in order, after authenticating.

public required ImmutableArray<Subscription> Subscriptions { get; init; }

Property Value

ImmutableArray<Subscription>