forked from lavina/lavina
1
0
Fork 0
This commit is contained in:
Nikita Vilunov 2024-05-07 16:17:25 +02:00
parent e73889d48a
commit b619ff5f00
3 changed files with 14 additions and 0 deletions

View File

@ -6,6 +6,8 @@ use serde::{Deserialize, Serialize};
use std::net::SocketAddr;
use std::sync::Arc;
mod broadcast;
type Addresses = Vec<SocketAddr>;
#[derive(Deserialize, Debug, Clone)]

View File

@ -0,0 +1,5 @@
/// Receives updates from other nodes and broadcasts them to local player actors.
struct Broadcasting {
}

View File

@ -16,6 +16,13 @@ Dialogs and their history are located on the same node, as all players.
The allocation is specified statically in the configuration file.
## Step 2 players and dialogs distributed
Different players could be located on different nodes. The traffic is still terminated on the same node.
A client must connect to the node which hosts the player, otherwise the connection is terminated.
Dialogs are located on the first player's node. This depends on how the first player is decided,
which is implemented by sorting the players lexicographically.
The allocation is still specified statically in the configuration file.
## Step 3 dynamic allocation and consensus