Package org.bitcoinj.net
Class BlockingClientManager
java.lang.Object
com.google.common.util.concurrent.AbstractIdleService
org.bitcoinj.net.BlockingClientManager
- All Implemented Interfaces:
com.google.common.util.concurrent.Service
,ClientConnectionManager
public class BlockingClientManager
extends com.google.common.util.concurrent.AbstractIdleService
implements ClientConnectionManager
A thin wrapper around a set of BlockingClient
s.
Generally, using NioClient
and NioClientManager
should be preferred over BlockingClient
and BlockingClientManager
as they scale significantly better, unless you wish to connect over a proxy or use
some other network settings that cannot be set using NIO.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.google.common.util.concurrent.Service
com.google.common.util.concurrent.Service.Listener, com.google.common.util.concurrent.Service.State
-
Constructor Summary
ConstructorDescriptionBlockingClientManager
(SocketFactory socketFactory) Creates a blocking client manager that will obtain sockets from the given factory. -
Method Summary
Modifier and TypeMethodDescriptionvoid
closeConnections
(int n) Closes n peer connectionsint
Gets the number of connected peersopenConnection
(SocketAddress serverAddress, StreamConnection connection) Creates a new connection to the given address, with the given connection used to handle incoming data.void
setConnectTimeout
(Duration connectTimeout) Sets the number of milliseconds to wait before giving up on a connect attemptvoid
setConnectTimeoutMillis
(int connectTimeoutMillis) Deprecated.protected void
shutDown()
protected void
startUp()
Methods inherited from class com.google.common.util.concurrent.AbstractIdleService
addListener, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, executor, failureCause, isRunning, serviceName, startAsync, state, stopAsync, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.google.common.util.concurrent.Service
addListener, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, failureCause, isRunning, startAsync, state, stopAsync
-
Constructor Details
-
BlockingClientManager
public BlockingClientManager() -
BlockingClientManager
Creates a blocking client manager that will obtain sockets from the given factory. Useful for customising how bitcoinj connects to the P2P network.
-
-
Method Details
-
openConnection
public ListenableCompletableFuture<SocketAddress> openConnection(SocketAddress serverAddress, StreamConnection connection) Description copied from interface:ClientConnectionManager
Creates a new connection to the given address, with the given connection used to handle incoming data. Any errors that occur during connection will be returned in the given future, including errors that can occur immediately.- Specified by:
openConnection
in interfaceClientConnectionManager
-
setConnectTimeout
Sets the number of milliseconds to wait before giving up on a connect attempt- Parameters:
connectTimeout
- timeout for establishing a connection to the client
-
setConnectTimeoutMillis
Deprecated. -
startUp
- Specified by:
startUp
in classcom.google.common.util.concurrent.AbstractIdleService
- Throws:
Exception
-
shutDown
- Specified by:
shutDown
in classcom.google.common.util.concurrent.AbstractIdleService
- Throws:
Exception
-
getConnectedClientCount
public int getConnectedClientCount()Description copied from interface:ClientConnectionManager
Gets the number of connected peers- Specified by:
getConnectedClientCount
in interfaceClientConnectionManager
-
closeConnections
public void closeConnections(int n) Description copied from interface:ClientConnectionManager
Closes n peer connections- Specified by:
closeConnections
in interfaceClientConnectionManager
-
setConnectTimeout(Duration)