Show / Hide Table of Contents

# Interface IClientClusterGroup

Defines grid projection which represents a common functionality over a group of nodes. Grid projection allows to group Ignite nodes into various subgroups to perform distributed operations on them. All ForXXX(...)' methods will create a child grid projection from existing projection. If you create a new projection from current one, then the resulting projection will include a subset of nodes from current projection. The following code snippet shows how to create grid projections:

    var g = Ignition.StartClient().GetCluster();

    // Projection over .NET nodes.
    var remoteNodes = g.ForDotNet();

    // Projection over server nodes.
    var randomNode = g.ForServers();

    // Projection over all nodes that have user attribute "group" set to value "worker".
    var workerNodes = g.ForAttribute("group", "worker");

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

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

##### Syntax

    public interface IClientClusterGroup

### Methods

#### ForAttribute(String, String)

Creates projection for nodes containing given name and value specified in user attributes.

##### Declaration

    IClientClusterGroup ForAttribute(string name, string val)

##### Parameters

Type | Name | Description
--- | --- | ---
System.String | name | Name of the attribute.
System.String | val | Optional attribute value to match.

##### Returns

Type | Description
--- | ---
IClientClusterGroup | Grid projection for nodes containing specified attribute.

#### ForDotNet()

Creates grid projection for nodes supporting .NET, i.e. for nodes started with Apache.Ignite.exe.

##### Declaration

    IClientClusterGroup ForDotNet()

##### Returns

Type | Description
--- | ---
IClientClusterGroup | Grid projection for nodes supporting .NET.

#### ForPredicate(Func<IClientClusterNode, Boolean>)

Creates a grid projection which includes all nodes that pass the given predicate filter.

##### Declaration

    IClientClusterGroup ForPredicate(Func<IClientClusterNode, bool> p)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Func<IClientClusterNode, System.Boolean> | p | Predicate filter for nodes to include into this projection.

##### Returns

Type | Description
--- | ---
IClientClusterGroup | Grid projection for nodes that passed the predicate filter.

#### ForServers()

Creates a cluster group of nodes started in server mode (ClientMode).

##### Declaration

    IClientClusterGroup ForServers()

##### Returns

Type | Description
--- | ---
IClientClusterGroup | Cluster group of nodes started in server mode.

#### GetCompute()

Gets compute functionality over this grid projection. All operations on the returned compute instance will only include nodes from this projection.

##### Declaration

    IComputeClient GetCompute()

##### Returns

Type | Description
--- | ---
IComputeClient | Compute instance over this grid projection.

#### GetNode()

Gets first node from the list of nodes in this projection.

##### Declaration

    IClientClusterNode GetNode()

##### Returns

Type | Description
--- | ---
IClientClusterNode | Node.

#### GetNode(Guid)

Gets a node for given ID from this grid projection.

##### Declaration

    IClientClusterNode GetNode(Guid id)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Guid | id | Node ID.

##### Returns

Type | Description
--- | ---
IClientClusterNode | Node with given ID from this projection or null if such node does not exist in this projection.

#### GetNodes()

Gets read-only collections of nodes in this projection.

##### Declaration

    ICollection<IClientClusterNode> GetNodes()

##### Returns

Type | Description
--- | ---
System.Collections.Generic.ICollection<IClientClusterNode> | All nodes in this projection.

#### GetServices()

Gets services functionality over this grid projection. All operations on the returned services instance will only include nodes from this projection.

##### Declaration

    IServicesClient GetServices()

##### Returns

Type | Description
--- | ---
IServicesClient | Services instance over this grid projection.