Search Results for

Show / Hide Table of Contents

# Class IgniteClientConfiguration

Ignite thin client configuration.

Ignite thin client connects to a specific Ignite node with a socket and does not start JVM in process. This configuration should correspond to ClientConnectorConfiguration on a target node.

##### Inheritance

System.Object
IgniteClientConfiguration

###### Namespace: Apache.Ignite.Core.Client

###### Assembly: Apache.Ignite.Core.dll

##### Syntax

    public class IgniteClientConfiguration : object

### Constructors

#### IgniteClientConfiguration()

Initializes a new instance of the IgniteClientConfiguration class.

##### Declaration

    public IgniteClientConfiguration()

#### IgniteClientConfiguration(IgniteClientConfiguration)

Initializes a new instance of the IgniteClientConfiguration class.

##### Declaration

    public IgniteClientConfiguration(IgniteClientConfiguration cfg)

##### Parameters

Type | Name | Description
--- | --- | ---
IgniteClientConfiguration | cfg | The configuration to copy.

#### IgniteClientConfiguration(String)

Initializes a new instance of the IgniteClientConfiguration class.

##### Declaration

    public IgniteClientConfiguration(string host)

##### Parameters

Type | Name | Description
--- | --- | ---
System.String | host | The host to connect to.

### Fields

#### DefaultEnableClusterDiscovery

Default value of EnableClusterDiscovery property.

##### Declaration

    public const bool DefaultEnableClusterDiscovery = null

##### Field Value

Type | Description
--- | ---
System.Boolean |

#### DefaultEnablePartitionAwareness

Default value of EnablePartitionAwareness property.

##### Declaration

    public const bool DefaultEnablePartitionAwareness = null

##### Field Value

Type | Description
--- | ---
System.Boolean |

#### DefaultHeartbeatInterval

Default value for HeartbeatInterval.

##### Declaration

    public static readonly TimeSpan DefaultHeartbeatInterval

##### Field Value

Type | Description
--- | ---
TimeSpan |

#### DefaultPort

Default port.

##### Declaration

    public const int DefaultPort = null

##### Field Value

Type | Description
--- | ---
System.Int32 |

#### DefaultSocketBufferSize

Default socket buffer size.

##### Declaration

    public const int DefaultSocketBufferSize = null

##### Field Value

Type | Description
--- | ---
System.Int32 |

#### DefaultSocketTimeout

Default socket timeout.

##### Declaration

    public static readonly TimeSpan DefaultSocketTimeout

##### Field Value

Type | Description
--- | ---
TimeSpan |

#### DefaultTcpNoDelay

Default value of TcpNoDelay property.

##### Declaration

    public const bool DefaultTcpNoDelay = null

##### Field Value

Type | Description
--- | ---
System.Boolean |

### Properties

#### BinaryConfiguration

Gets or sets the binary configuration.

##### Declaration

    public BinaryConfiguration BinaryConfiguration { get; set; }

##### Property Value

Type | Description
--- | ---
BinaryConfiguration |

#### EnableClusterDiscovery

Gets or sets a value indicating whether Cluster Discovery should be enabled.

Default is true: Ignite will maintain an actual list of all server nodes in the cluster and connect to them when necessary. When EnablePartitionAwareness is false, this list of nodes will be used for failover. When EnablePartitionAwareness is true, connections will be established to all known nodes.

When false: Ignite client will connect only to nodes in the Endpoints list.

##### Declaration

    public bool EnableClusterDiscovery { get; set; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

#### EnableHeartbeats

Gets or sets a value indicating whether heartbeats are enabled.

When thin client connection is idle (no operations are performed), heartbeat messages are sent periodically to keep the connection alive and detect potential half-open state.

See also HeartbeatInterval.

##### Declaration

    public bool EnableHeartbeats { get; set; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

#### EnablePartitionAwareness

Gets or sets a value indicating whether partition awareness should be enabled.

Default is true: for cache operations, Ignite client attempts to send the request directly to the primary node for the given cache key. To do so, connection is established to every known server node at all times.

When false: only one connection is established at a given moment to a random server node.

See also EnableClusterDiscovery.

##### Declaration

    public bool EnablePartitionAwareness { get; set; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

#### Endpoints

Gets or sets endpoints to connect to. 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)

  When multiple endpoints are specified, failover and load-balancing mechanism is enabled:

- Ignite picks random endpoint and connects to it.
- On disconnect, next endpoint is picked from the list (.

##### Declaration

    public ICollection<string> Endpoints { get; set; }

##### Property Value

Type | Description
--- | ---
ICollection<System.String> |

#### HeartbeatInterval

Sets the heartbeat message interval.

Default is DefaultHeartbeatInterval.

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

When thin client connection is idle (no operations are performed), heartbeat messages are sent periodically to keep the connection alive and detect potential half-open state.

##### Declaration

    public TimeSpan HeartbeatInterval { get; set; }

##### Property Value

Type | Description
--- | ---
TimeSpan |

#### Host

Gets or sets the host. Should not be null.

##### Declaration

    public string Host { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |

#### Logger

Gets or sets the logger. Default is ConsoleLogger. Set to `null` to disable logging.

##### Declaration

    public ILogger Logger { get; set; }

##### Property Value

Type | Description
--- | ---
ILogger |

#### Password

Password to be used to connect to secured cluster.

##### Declaration

    public string Password { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |

#### Port

Gets or sets the port.

##### Declaration

    public int Port { get; set; }

##### Property Value

Type | Description
--- | ---
System.Int32 |

#### ReconnectDisabled

Gets or sets a value indicating whether automatic reconnect is disabled.

##### Declaration

    public bool ReconnectDisabled { get; set; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

#### RetryLimit

Gets or sets the retry limit. When a request fails due to a connection error, Ignite will retry the request if the specified RetryPolicy allows it. When this property is greater than `0`, Ignite will limit the number of retries.

Default is `0`: no limit on retries.

##### Declaration

    public int RetryLimit { get; set; }

##### Property Value

Type | Description
--- | ---
System.Int32 |

#### 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 null: operations won't be retried.

See also ClientRetryAllPolicy, ClientRetryReadPolicy, RetryLimit.

##### Declaration

    public IClientRetryPolicy RetryPolicy { get; set; }

##### Property Value

Type | Description
--- | ---
IClientRetryPolicy |

#### SocketReceiveBufferSize

Gets or sets the size of the socket receive buffer. When set to 0, operating system default is used.

##### Declaration

    public int SocketReceiveBufferSize { get; set; }

##### Property Value

Type | Description
--- | ---
System.Int32 |

#### SocketSendBufferSize

Gets or sets the size of the socket send buffer. When set to 0, operating system default is used.

##### Declaration

    public int SocketSendBufferSize { get; set; }

##### Property Value

Type | Description
--- | ---
System.Int32 |

#### SocketTimeout

Gets or sets the socket operation timeout. Zero or negative means infinite timeout.

##### Declaration

    public TimeSpan SocketTimeout { get; set; }

##### Property Value

Type | Description
--- | ---
TimeSpan |

#### SslStreamFactory

Gets or sets the SSL stream factory.

When not null, secure socket connection will be established.

##### Declaration

    public ISslStreamFactory SslStreamFactory { get; set; }

##### Property Value

Type | Description
--- | ---
ISslStreamFactory |

#### TcpNoDelay

Gets or sets the value for `TCP_NODELAY` socket option. Each socket will be opened using provided value.

Setting this option to `true` disables Nagle's algorithm for socket decreasing latency and delivery time for small messages.

For systems that work under heavy network load it is advisable to set this value to `false`.

##### Declaration

    public bool TcpNoDelay { get; set; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

#### TransactionConfiguration

Gets or sets the transaction configuration. See ITransactionsClient, GetTransactions().

##### Declaration

    public TransactionClientConfiguration TransactionConfiguration { get; set; }

##### Property Value

Type | Description
--- | ---
TransactionClientConfiguration |

#### UserName

Username to be used to connect to secured cluster.

##### Declaration

    public string UserName { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |

### Methods

#### FromXml(String)

Deserializes IgniteClientConfiguration from the XML string.

##### Declaration

    public static IgniteClientConfiguration FromXml(string xml)

##### Parameters

Type | Name | Description
--- | --- | ---
System.String | xml | Xml string.

##### Returns

Type | Description
--- | ---
IgniteClientConfiguration | Deserialized instance.

#### FromXml(XmlReader)

Deserializes IgniteClientConfiguration from the XML reader.

##### Declaration

    public static IgniteClientConfiguration FromXml(XmlReader reader)

##### Parameters

Type | Name | Description
--- | --- | ---
XmlReader | reader | The reader.

##### Returns

Type | Description
--- | ---
IgniteClientConfiguration | Deserialized instance.

#### ToXml()

Serializes this instance to an XML string.

##### Declaration

    public string ToXml()

##### Returns

Type | Description
--- | ---
System.String |

#### ToXml(XmlWriter, String)

Serializes this instance to the specified XML writer.

##### Declaration

    public void ToXml(XmlWriter writer, string rootElementName)

##### Parameters

Type | Name | Description
--- | --- | ---
XmlWriter | writer | The writer.
System.String | rootElementName | Name of the root element.