kubo/net
Jeromy 07b064010e rewrite of provides to better select peers to send RPCs to
refactor test peer creation to be deterministic and reliable

a bit of cleanup trying to figure out TestGetFailure

add test to verify deterministic peer creation

switch put RPC over to use getClosestPeers

rm 0xDEADC0DE

fix queries not searching peer if its not actually closer
2015-01-02 07:42:07 +00:00
..
backpressure refactor: rename testutil func 2014-12-24 09:31:17 -05:00
conn refactor: rename testutil func 2014-12-24 09:31:17 -05:00
handshake peer change: peer.Peer -> peer.ID 2014-12-23 08:33:32 -08:00
mock rewrite of provides to better select peers to send RPCs to 2015-01-02 07:42:07 +00:00
swarm use yamux as go-peerstream transport 2015-01-01 23:24:09 -08:00
id_test.go refactor: rename testutil func 2014-12-24 09:31:17 -05:00
id.go net/id: handle error case 2014-12-24 04:22:51 -08:00
interface.go net/interface: move more to Dialer 2014-12-24 02:10:56 -08:00
mux_test.go net: better protocol headers 2014-12-16 14:47:29 -08:00
mux.go peerstream update 2015-01-01 07:05:39 -08:00
net_test.go connectedness test timing 2014-12-23 09:00:43 -08:00
net.go respect don contexteone 2014-12-24 03:24:28 -08:00
README.md net: README. 2014-12-09 02:12:43 -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)