mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-01-31 15:22:16 +00:00
534cec9791
Remove Netty entirely, using the new Nio wrapper classes instead * BitcoinSerializer now uses ByteBuffers directly instead of InputStreams. * TCPNetworkConnection and NetworkConnection interface deleted, Peer now extends the abstract class PeerSocketHandler which handles deserialization and interfaces with the Nio wrapper classes. * As a part of this, all version message handling has been moved to Peer, instead of doing it in TCPNetworkConnection. * Peer.setMinProtocolVersion() now returns a boolean instead of a null/non-null future which holds the now-closing channel. * Peer.sendMessage (now PeerSocketHandler.sendMessage()) now returns void. * PeerGroup has some significant API changes: * removed constructors which take pipeline factories, makePipelineFactory, createClientBootstrap * Replaced with a setSocketTimeoutMillis method that sets a timeout between openConnection() and version/verack exchange. (Note that because Peer extends AbstractTimeoutHandler, it has useful timeout setters public already). * connectTo returns a Peer future, not a ChannelFuture * removed peerFromChannelFuture and peerFromChannel * Peer and PeerGroup Tests have semi-significant rewrites: * They use actual TCP connections to localhost * The "remote" side is a InboundMessageQueuer, which queues inbound messages and allows for writing arbitrary messages. * It ignores certain special pings which come from pingAndWait, which is used to wait for message processing in the Peer. * Removed a broken test in PeerGroupTest that should be reenabled if we ever prefer a different version than our minimum version again. * Removed two duplicate tests in PeerTest (testRun_*Exception) which are tested for in badMessage as well. * Added a test for peer timeout and large message deserialization Author: Matt Corallo <git@bluematt.me> |
||
---|---|---|
.. | ||
src | ||
findbugs.xml | ||
pom.xml |