kubo/p2p/net
Juan Batiz-Benet 91a79bc203 ratelimiter: fixing rate limiter use
Use of the ratelimiter should be conscious of the ratelimiter's
potential closing. any loops that add work to ratelimiter
should (a) only do so if the rate limiter is not closed,
or (b) prevent limiter while work is added
(i.e. use limiter.Go(addWorkHere))
2015-02-06 10:59:03 -08:00
..
conn p2p/net/conn: log conn lifetime event 2015-02-01 22:08:48 -08:00
mock test/mocknet: this test fails on CI sometimes 2015-02-03 08:02:25 -08:00
swarm ratelimiter: fixing rate limiter use 2015-02-06 10:59:03 -08:00
interface.go p2p/net: notify on listens 2015-01-30 20:37:52 -08:00
README.md net -> p2p/net 2015-01-02 08:46:45 -08:00

Network

The IPFS Network package handles all of the peer-to-peer networking. It connects to other hosts, it encrypts communications, it muxes messages between the network's client services and target hosts. It has multiple subcomponents:

  • Conn - a connection to a single Peer
    • MultiConn - a set of connections to a single Peer
    • SecureConn - an encrypted (tls-like) connection
  • Swarm - holds connections to Peers, multiplexes from/to each MultiConn
  • Muxer - multiplexes between Services and Swarm. Handles Requet/Reply.
    • Service - connects between an outside client service and Network.
    • Handler - the client service part that handles requests

It looks a bit like this:

![](https://docs.google.com/drawings/d/1FvU7GImRsb9GvAWDDo1le85jIrnFJNVB_OTPXC15WwM/pub?h=480)