go-libp2p/p2p/net
Jeromy ec85e0bbdf bump yamux backlog setting way up 2016-03-08 17:40:52 -08:00
..
conn Add fallback dialer 2016-03-04 09:27:52 -08:00
filter update version of go-multiaddr 2016-03-03 13:03:24 -08:00
mock update version of go-multiaddr 2016-03-03 13:03:24 -08:00
swarm bump yamux backlog setting way up 2016-03-08 17:40:52 -08:00
transport fix fallback code and add a few new tests 2016-03-04 16:16:58 -08:00
README.md move to p2p dir 2015-09-30 18:42:55 -04:00
interface.go update version of go-multiaddr 2016-03-03 13:03:24 -08:00

README.md

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)