go-libp2p/p2p/net
Marten Seemann cefbf97aa6
webtransport: add PSK to constructor, and fail if it is used (#1929)
That way, it won't be possible to construct a host with a PSK
when WebTransport is enabled. This is desireable since WebTransport doesn't
support private network (same as QUIC).
2022-12-05 12:44:15 -08:00
..
conngater switch from github.com/libp2p/go-libp2p-core to core 2022-08-17 17:13:02 +03:00
connmgr Fix concurrent map access in connmgr (#1860) 2022-11-08 17:06:38 -08:00
mock chore: preallocate slices (#1842) 2022-11-06 04:48:40 -08:00
nat Fix error log 2021-10-05 14:18:23 -04:00
pnet switch from github.com/libp2p/go-libp2p-core to core 2022-08-17 17:13:02 +03:00
reuseport fix: don't prefer local ports from other addresses when dialing (#1673) 2022-08-19 00:33:22 -07:00
swarm webtransport: add PSK to constructor, and fail if it is used (#1929) 2022-12-05 12:44:15 -08:00
upgrader transport.Listener,quic: Support multiple QUIC versions with the same Listener. Only return a single multiaddr per listener. (#1923) 2022-12-01 14:06:13 -08:00
README.md Fix typos in p2p/net/README.md 2019-03-07 03:23:01 +00: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 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: