Commit Graph

10 Commits

Author SHA1 Message Date
sijie.sun ba1795a113 introduce a link-state route algo 2024-03-21 22:38:35 +08:00
sijie.sun d70d085553 do some refactor
1. Route must impl PeerPacketFilter trait.
2. Use postcard lib to serial msg instead of bincode.
3. Fix cycle ref in peer_mgr & peer_rpc
2024-03-21 22:38:35 +08:00
Sijie.Sun 0053666dfb use uint32 as peer id (#29) 2024-03-13 00:15:22 +08:00
Sijie.Sun 5f30747f62 fix peer_remove & peer_add event handler (#27) 2024-03-06 23:52:56 +08:00
Sijie.Sun 278a4846f1 support ip broadcast (#26) 2024-03-06 23:09:15 +08:00
Sijie.Sun d8d1c64df7 Introduce foreigner network (#25)
* support network identity for instance

* introduce foreign network

foreign network allow a node serving as one public node. other nodes can
connect to this node to discover peers and exchange route info.
2024-03-06 20:59:17 +08:00
Sijie.Sun 756d498b90 Stun fix (#18)
* make easytier-core a lib
* add stun command to easytier cli
* fix stun test for musl
2024-02-08 23:44:51 +08:00
Sijie.Sun 2c2e41be24 refactor route so we can add other router (#15) 2024-02-06 20:17:08 +08:00
Sijie.Sun 7f8935a9d5 introduce peer center (#13)
peer_center is used to collect peer info into one peer node.

the center node is selected with the following rules:

1. has smallest peer id
2. TODO: has allow_to_be_center peer feature

peer center is not guaranteed to be stable and can be changed when peer enter
or leave.  it's used to reduce the cost to exchange infos between peers.
2024-02-06 13:29:12 +08:00
sijie.sun 9779923b87 Initial Version 2024-01-27 15:12:30 +08:00