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

##### Inherited Members

System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()

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

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

##### Syntax

    public class IgniteClientConfiguration

### 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

#### DefaultPort

Default port.

##### Declaration

    public const int DefaultPort = 10800

##### Field Value

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

#### DefaultSocketBufferSize

Default socket buffer size.

##### Declaration

    public const int DefaultSocketBufferSize = 0

##### Field Value

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

#### DefaultSocketTimeout

Default socket timeout.

##### Declaration

    public static readonly TimeSpan DefaultSocketTimeout

##### Field Value

Type | Description
--- | ---
System.TimeSpan |

#### DefaultTcpNoDelay

Default value of TcpNoDelay property.

##### Declaration

    public const bool DefaultTcpNoDelay = true

##### 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 |

#### EnablePartitionAwareness

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

Default is false: only one connection is established at a given moment to a random server node. When 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.

##### 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
--- | ---
System.Collections.Generic.ICollection<System.String> |

#### Host

Gets or sets the host. Should not be null.

##### Declaration

    [Obsolete("Use Endpoints instead")]
    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

    [Obsolete("Use Endpoints instead")]
    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 |

#### 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
--- | ---
System.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 |

#### 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
--- | --- | ---
System.Xml.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
--- | --- | ---
System.Xml.XmlWriter | writer | The writer.
System.String | rootElementName | Name of the root element.