kubo/p2p/net
Juan Batiz-Benet df0967d6ee p2p/net: network interface Listen func
network interface now allows setting Listeners after the fact.
This is useful to create the network and start listening as
separate steps. And to keep the network up to date on new
addresses the node might have to listen to.
2015-01-30 06:51:29 -08:00
..
conn p2p/net: cleaned up dial events 2015-01-28 02:15:32 -08:00
mock p2p/net: network interface Listen func 2015-01-30 06:51:29 -08:00
swarm p2p/net: network interface Listen func 2015-01-30 06:51:29 -08:00
interface.go p2p/net: network interface Listen func 2015-01-30 06:51:29 -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)