Rewrite docs to showcase `PeerObserver`
qstokkink opened this issue · 0 comments
qstokkink commented
Currently our docs, main code, and downstream projects are filled with periodic tasks that relate to managing peers. For example:
py-ipv8/doc/basics/overlay_tutorial_4.py
Lines 9 to 19 in 6f5b29c
However, since #1148, we now have PeerObserver
interfaces. We can use this to make the introductory tutorial a bit less "scary":
class MyCommunity(Community, PeerObserver):
community_id = os.urandom(20)
def on_peer_added(self, peer: Peer) -> None:
print("I am:", self.my_peer, "I found:", peer)
def on_peer_removed(self, peer: Peer) -> None:
pass
def started(self):
self.network.add_peer_observer(self)
We should encourage overlay programmers to use on_peer_added
instead of the introduction request/response callbacks (those have some low-level "gotcha's" regarding being introduced to yourself etc.) or periodic tasks.