Felix Lange
7964f30dcb
p2p: msg.Payload contains list data
...
With RLPx frames, the message code is contained in the
frame and is no longer part of the encoded data.
EncodeMsg, Msg.Decode have been updated to match.
Code that decodes RLP directly from Msg.Payload will need
to change.
10 years ago
Felix Lange
736e632215
p2p: use RLPx frames for messaging
10 years ago
Felix Lange
3719db352a
p2p: emit JSON connect/disconnect events
10 years ago
Felix Lange
dd871e791c
p2p: initialize Server.ourHandshake before accepting connections
10 years ago
Felix Lange
73f94f3755
p2p: disable encryption handshake
...
The diff is a bit bigger than expected because the protocol handshake
logic has moved out of Peer. This is necessary because the protocol
handshake will have custom framing in the final protocol.
10 years ago
obscuren
09e53367a2
Use a mutex write-lock for a write operation
10 years ago
Felix Lange
5cc1256fd6
p2p: ensure we don't dial ourself
...
addPeer doesn't allow self connects, but we can avoid opening
connections in the first place.
10 years ago
Felix Lange
7101f44998
p2p: add I/O timeout for encrytion handshake
10 years ago
Felix Lange
22ee366ed6
p2p: fix goroutine leak for invalid peers
...
The deflect logic called Disconnect on the peer, but the peer never ran
and wouldn't process the disconnect request.
10 years ago
Felix Lange
170eb3ac68
p2p/discover: map listening port using configured mechanism
10 years ago
Felix Lange
d0a2e655c9
cmd/ethereum, cmd/mist, eth, p2p: use package p2p/nat
...
This deletes the old NAT implementation.
10 years ago
Taylor Gerring
db24fb792c
Move standard fields to LogEvent
10 years ago
Taylor Gerring
d53e5646ec
Use strongly-typed objects
10 years ago
Felix Lange
028775a086
cmd/ethereum, cmd/mist: add flag for discovery bootstrap nodes
10 years ago
Felix Lange
2cf4fed11b
cmd/mist, eth, javascript, p2p: use Node URLs for peer suggestions
10 years ago
Felix Lange
e34d134102
p2p: fixes for actual connections
...
The unit test hooks were turned on 'in production'.
10 years ago
Felix Lange
8564eb9f7e
p2p/discover: add node URL functions, distinguish TCP/UDP ports
...
The discovery RPC protocol does not yet distinguish TCP and UDP ports.
But it can't hurt to do so in our internal model.
10 years ago
Felix Lange
5bdc115943
p2p: integrate p2p/discover
...
Overview of changes:
- ClientIdentity has been removed, use discover.NodeID
- Server now requires a private key to be set (instead of public key)
- Server performs the encryption handshake before launching Peer
- Dial logic takes peers from discover table
- Encryption handshake code has been cleaned up a bit
- baseProtocol is gone because we don't exchange peers anymore
- Some parts of baseProtocol have moved into Peer instead
10 years ago
Taylor Gerring
c14900dbb0
Add initial P2P json logs
10 years ago
obscuren
8d1637f567
Moved connection errors to DebugDetail level
10 years ago
obscuren
6abf8ef78f
Merge
10 years ago
Felix Lange
aa3b91b802
p2p: fix call to Server.removePeer (might help with #209 )
10 years ago
obscuren
56dac74f71
made mist in a compilable, workable state using the new refactored packages
10 years ago
Felix Lange
59b63caf5e
p2p: API cleanup and PoC 7 compatibility
...
Whoa, one more big commit. I didn't manage to untangle the
changes while working towards compatibility.
10 years ago
Felix Lange
f38052c499
p2p: rework protocol API
10 years ago
Felix Lange
f3473312ba
all: fix rename breakage
10 years ago
zelig
771fbcc02e
initial commit of p2p package
10 years ago