Просмотр исходного кода

doc/book: update outdated peer discovery algo desc

x 2 лет назад
Родитель
Сommit
1d22ee44a0
1 измененных файлов с 5 добавлено и 15 удалено
  1. 5 15
      doc/src/architecture/p2p-network.md

+ 5 - 15
doc/src/architecture/p2p-network.md

@@ -26,25 +26,15 @@ The outbound session is responsible to ensure the hosts pool is populated, eithe
 through currently connected nodes or using the seed session.
 It performs this algorithm:
 
-1. Start $N$ slots, and set each slot with `status = ACTIVE`
+1. Start $N$ slots, and a sleeping peer discovery process
 
 Then each slot performs this algorithm:
 
 1. If no addresses matching our filters are in the hosts pool then:
-    1. If there is another slot where `status ≟ DISCOVERY` or `status ≟ SEED` then
-       let `status = SLEEP` and wait for a wakeup signal.
-    2. If there are channels opened in `p2p` then let `status = DISCOVERY`
-       else skip this step, and let `status = SEED`.
-        1. If `status ≟ DISCOVERY` and no hosts are found then let `status = SEED`.
-    3. In either case when `status ≟ DISCOVERY` or `status = SEED` and we manage to find
-       new hosts, then wakeup the other sleeping slots.
-    4. If there are still no hosts found, then let `status = SLEEP`.
-
-The slots are able to communicate to each other through pipes to signal status changes
-such as wakeup requests.
-
-Sleeping slots are woken up periodically by the session. They can be forcefully woken up
-by calling `session.wakeup()`.
+    1. Wakeup the peer discovery process. This does nothing if peer discovery is already active.
+    2. Peer discovery tries first 2 times to poll the current network if there are connected nodes,
+       otherwise it will do a seed server sync.
+    3. Peer discovery then wakes any sleeping slots and goes back to sleep.
 
 ## Security