tendermint/p2p
Jae Kwon 335b7a5984 ... 2014-10-06 01:46:39 -07:00
..
upnp package rename peer -> p2p 2014-07-07 20:03:50 -07:00
README.md fixed algorithm 2014-10-03 01:09:26 -07:00
addrbook.go fix basic tests. 2014-10-04 19:16:49 -07:00
addrbook_test.go addrbook cleanup 2014-07-10 02:19:50 -07:00
connection.go fix basic tests. 2014-10-04 19:16:49 -07:00
listener.go refactor from Binary centric model to global method model 2014-09-03 20:41:57 -07:00
log.go fix test cases 2014-08-31 01:48:40 -07:00
netaddress.go refactor from Binary centric model to global method model 2014-09-03 20:41:57 -07:00
peer.go fixed algorithm 2014-10-03 01:09:26 -07:00
peer_set.go implementing block_manager. currently only supports one datatype. 2014-07-29 23:53:35 -07:00
pex_reactor.go fix basic tests. 2014-10-04 19:16:49 -07:00
switch.go ... 2014-10-06 01:46:39 -07:00
switch_test.go fix basic tests. 2014-10-04 19:16:49 -07:00
util.go cleanup 2014-07-09 14:27:32 -07:00

README.md

P2P Module

P2P provides an abstraction around peer-to-peer communication.
Communication happens via Reactors that react to messages from peers.
Each Reactor has one or more Channels of communication for each Peer.
Channels are multiplexed automatically and can be configured.
A Switch is started upon app start, and handles Peer management.
A PEXReactor implementation is provided to automate peer discovery.

Channels

Each peer connection is multiplexed into channels. The p2p module comes with a channel implementation used for peer discovery (called PEX, short for "peer exchange").

Channel "PEX"
Messages
  • pexRequestMsg
  • pexResponseMsg

Resources