You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Marten Seemann 31966fbb05
metrics: use a single slice pool for all metrics tracer (#2054)
2 years ago
..
conngater switch from github.com/libp2p/go-libp2p-core to core 2 years ago
connmgr Fix concurrent map access in connmgr (#1860) 2 years ago
mock chore: preallocate slices (#1842) 2 years ago
nat Fix error log 3 years ago
pnet switch from github.com/libp2p/go-libp2p-core to core 2 years ago
reuseport fix: don't prefer local ports from other addresses when dialing (#1673) 2 years ago
swarm metrics: use a single slice pool for all metrics tracer (#2054) 2 years ago
upgrader consistently use protocol.ID instead of strings (#2004) 2 years ago
README.md Fix typos in p2p/net/README.md 6 years ago

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 Request/Reply.
    • Service - connects between an outside client service and Network.
    • Handler - the client service part that handles requests

It looks a bit like this: