kubo/net
Juan Batiz-Benet 4fe1dd9b62 net: have an explicit IdentifyConn on dial
- Make sure we call IdentifyConn on dialed out conns
- we wait until the identify is **done** before return
- on listening case, we can also wait.
- tests now make sure dial does wait.
- tests now make sure we can wait on listening case.
2014-12-23 08:40:52 -08:00
..
backpressure peer change: peer.Peer -> peer.ID 2014-12-23 08:33:32 -08:00
conn peer change: peer.Peer -> peer.ID 2014-12-23 08:33:32 -08:00
handshake peer change: peer.Peer -> peer.ID 2014-12-23 08:33:32 -08:00
mock net: have an explicit IdentifyConn on dial 2014-12-23 08:40:52 -08:00
swarm peer change: peer.Peer -> peer.ID 2014-12-23 08:33:32 -08:00
id_test.go net: have an explicit IdentifyConn on dial 2014-12-23 08:40:52 -08:00
id.go net: have an explicit IdentifyConn on dial 2014-12-23 08:40:52 -08:00
interface.go net: have an explicit IdentifyConn on dial 2014-12-23 08:40:52 -08:00
mux_test.go net: better protocol headers 2014-12-16 14:47:29 -08:00
mux.go peer change: peer.Peer -> peer.ID 2014-12-23 08:33:32 -08:00
net.go net: have an explicit IdentifyConn on dial 2014-12-23 08:40:52 -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)