Commit 6e6233e1 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent edb2fec5
......@@ -22,24 +22,25 @@ package neo
// Master organization
//
// Master is the node tha oversees how whole cluster works, ... XXX
// It is organized as follows:
// Master is the node that oversees and manages how whole NEO cluster works.
// It accepts incoming connections, assigns node ID to incoming peers,
// maintains node and partition tables and broadcasts updates of those tables to
// all connected nodes. It drives cluster through recovery -> verify -> serve
// cycle. It also manages commits initiated by clients and notifies clients
// about changes committed by another client.
//
// - main task that controls whole logic of master working. It spawns
// subtasks to implement that logic and communicate with the subtask via channels. XXX
// Master is organized as follows:
//
// - main task that controls whole logic of master working. It spawns subtasks
// to implement that logic and communicates with the subtasks via channels.
// Main is the only mutator of nodeTab, partTab, etc.
//
// - accept task that accepts incoming connections and hands them over to main
// via nodeComeq.
//
// - per peer workers are spawned that interact with main via channels
// - δnodeTab, δpartTab updates are proxied to peer by another per-peer task
//
// XXX
// - per peer workers are spawned and interact with main via channels.
//
// XXX
// master manages node and partition tables and broadcast their updates
// to all connected nodes.
// - δnodeTab, δpartTab updates are proxied to peer by another per-peer "notify" task.
import (
"context"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment