# Cluster API

> The Cluster Applications in C/C++ page describes the general principles of Cluster application design and implementation.

> Please use the links below to view Reference Guide pages for the eXtremeDB Cluster API functions:

> mco_cluster_attach | Re-connect to the cluster after a previous `cluster_stop()` or `cluster_detach()`
> mco_cluster_barrier | Synchronize cluster nodes
> mco_cluster_db_open | Create the cluster database and connect to other cluster nodes
> mco_cluster_detach | Disconnect the node from the working cluster
> mco_cluster_discover | Get information about a working cluster
> mco_cluster_gather | Gather updates of “distributed” objects on other network nodes
> mco_cluster_get_active_nodes | Get information about the active nodes in a cluster
> mco_cluster_get_window_params | Get the current transaction window parameters
> mco_cluster_info | Get statistics that are maintained for network and cluster levels
> mco_cluster_init | Initialize the Cluster runtime
> mco_cluster_listen | Receives messages from other nodes, execute remote transactions, monitor the status of the local transactions, send a keep-alive message, and perform other responsibilities
> mco_cluster_params_init | Set default cluster parameters
> mco_cluster_scatter | Distribute changes to “distributed” objects in the local cache to other nodes in the Cluster
> mco_cluster_set_window_params | Set the current transaction window parameters
> mco_cluster_stop | Stop the cluster subsystem