Struct rabble::Node [] [src]

pub struct Node<T: Encodable + Decodable + Debug + Clone> {
    pub id: NodeId,
    pub logger: Logger,
    // some fields omitted
}

A Node represents a way for services to interact with rabble internals.

The Node api is used by services and their handlers to send messages, get status, join nodes into a cluster, etc...

Fields

Methods

impl<T: Encodable + Decodable + Debug + Clone> Node<T>
[src]

Create a new node. This function should not be called by the user directly. It is called by by the user call to rabble::rouse(..) that initializes a rabble system for a single node.

Join 1 node to another to form a cluster.

Node joins are transitive such that if Node A joins Node B which is already joined with Node C, then Node A will become connected to both Node B and Node C.

Join's are not immediate. The local member state is updated and the joining node will continuously try to connect to the remote node so that they can exchange membership information and participate in peer operations.

Add a process to the executor that can be sent Envelopes addressed to its pid

Remove a process from the executor

Register a Service's sender with the executor so that it can be sent messages addressed to its pid

Send an envelope to the executor so it gets routed to the appropriate process or service

Get the status of the executor

Get the status of the cluster server

Shutdown the node

Trait Implementations

impl<T: Clone + Encodable + Decodable + Debug + Clone> Clone for Node<T>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more