Table of Contents

Class IgniteClientConfiguration

Namespace
Apache.Ignite
Assembly
Apache.Ignite.dll

Ignite client driver configuration.

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

Constructors

IgniteClientConfiguration()

Initializes a new instance of the IgniteClientConfiguration class.

public IgniteClientConfiguration()

IgniteClientConfiguration(IgniteClientConfiguration)

Initializes a new instance of the IgniteClientConfiguration class.

public IgniteClientConfiguration(IgniteClientConfiguration other)

Parameters

other IgniteClientConfiguration

Other configuration.

IgniteClientConfiguration(params string[])

Initializes a new instance of the IgniteClientConfiguration class.

public IgniteClientConfiguration(params string[] endpoints)

Parameters

endpoints string[]

Endpoints.

Fields

DefaultHeartbeatInterval

Default heartbeat interval.

public static readonly TimeSpan DefaultHeartbeatInterval

Field Value

TimeSpan

DefaultPort

Default port.

public const int DefaultPort = 10800

Field Value

int

DefaultReconnectInterval

Default reconnect interval.

public static readonly TimeSpan DefaultReconnectInterval

Field Value

TimeSpan

DefaultSocketTimeout

Default socket timeout.

public static readonly TimeSpan DefaultSocketTimeout

Field Value

TimeSpan

Properties

Authenticator

Gets or sets the authenticator. When null, no authentication is performed.

See BasicAuthenticator.
public IAuthenticator? Authenticator { get; set; }

Property Value

IAuthenticator

Endpoints

Gets endpoints to connect to.

Providing addresses of multiple nodes in the cluster will improve performance: Ignite will balance requests across all connections, and use partition awareness to send key-based requests directly to the primary node.

Examples of supported formats: * 192.168.1.25 (default port is used, see DefaultPort). * 192.168.1.25:780 (custom port) * 192.168.1.25:780..787 (custom port range) * my-host.com (default port is used, see DefaultPort). * my-host.com:780 (custom port) * my-host.com:780..787 (custom port range).
public IList<string> Endpoints { get; }

Property Value

IList<string>

HeartbeatInterval

Gets or sets the heartbeat message interval.

Default is DefaultHeartbeatInterval.

When server-side idle timeout is not zero, effective heartbeat interval is set to Min(HeartbeatInterval, IdleTimeout / 3).

When client connection is idle (no operations are performed), heartbeat messages are sent periodically to keep the connection alive and detect potential half-open state.
public TimeSpan HeartbeatInterval { get; set; }

Property Value

TimeSpan

LoggerFactory

Gets or sets the logger factory. Default is Instance.

public ILoggerFactory LoggerFactory { get; set; }

Property Value

ILoggerFactory

OperationTimeout

Gets or sets the operation timeout. Default is InfiniteTimeSpan (no timeout).

An "operation" is a single client request to the server. Some public API calls may involve multiple operations, in which case the operation timeout is applied to each individual network call.
public TimeSpan OperationTimeout { get; set; }

Property Value

TimeSpan

ReconnectInterval

Gets or sets the background reconnect interval.

Default is DefaultReconnectInterval. Set to Zero to disable periodic reconnect.

Ignite balances requests across all healthy connections (when multiple endpoints are configured). Ignite also repairs connections on demand (when a request is made). However, "secondary" connections can be lost (due to network issues, or node restarts). This property controls how ofter Ignite client will check all configured endpoints and try to reconnect them in case of failure.
public TimeSpan ReconnectInterval { get; set; }

Property Value

TimeSpan

RetryPolicy

Gets or sets the retry policy. When a request fails due to a connection error, Ignite will retry the request if the specified policy allows it.

Default is RetryReadPolicy - retry read operations up to DefaultRetryLimit times.

See also RetryLimitPolicy, RetryReadPolicy, RetryNonePolicy, RetryLimit.
public IRetryPolicy RetryPolicy { get; set; }

Property Value

IRetryPolicy

SocketTimeout

Gets or sets the socket timeout.

The timeout applies to the initial handshake procedure and heartbeats (see HeartbeatInterval). If the server does not respond to the initial handshake message or a periodic heartbeat in the specified time, the connection is closed with a TimeoutException.

Use InfiniteTimeSpan for infinite timeout.
public TimeSpan SocketTimeout { get; set; }

Property Value

TimeSpan

SslStreamFactory

Gets or sets the SSL stream factory.

When not null, secure socket connection will be established.

See SslStreamFactory.
public ISslStreamFactory? SslStreamFactory { get; set; }

Property Value

ISslStreamFactory