kubo/p2p/net
Juan Benet 63baf78d1e Merge pull request #1943 from ipfs/dht/speed
fix swarm dial backoff
2015-11-10 06:41:54 +00:00
..
conn reuseport tcp is now a dial creation option 2015-11-09 20:02:26 -08:00
filter add command to manipulate address filters and a sharness test for them 2015-06-30 18:25:34 -07:00
mock vendor logging lib update 2015-11-05 15:57:21 -08:00
swarm Merge pull request #1943 from ipfs/dht/speed 2015-11-10 06:41:54 +00:00
transport reuseport tcp is now a dial creation option 2015-11-09 20:02:26 -08:00
interface.go Replace ctxgroup.ContextGroup -> goprocess.Process 2015-07-04 22:50:23 +07: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)