I2PSocketManagerFullpublic interface I2PSocketManager
| Modifier and Type | Interface | Description |
|---|---|---|
static interface |
I2PSocketManager.DisconnectListener |
| Modifier and Type | Method | Description |
|---|---|---|
void |
addDisconnectListener(I2PSocketManager.DisconnectListener lsnr) |
|
I2PSession |
addSubsession(InputStream privateKeyStream,
Properties opts) |
For a server, you must call connect() on the returned object.
|
I2PSocketOptions |
buildOptions() |
Create a copy of the current options, to be used in a setDefaultOptions() call.
|
I2PSocketOptions |
buildOptions(Properties opts) |
Create a modified copy of the current options, to be used in a setDefaultOptions() call.
|
I2PSocket |
connect(Destination peer) |
Create a new connected socket (block until the socket is created)
|
I2PSocket |
connect(Destination peer,
I2PSocketOptions options) |
Create a new connected socket (block until the socket is created)
|
Socket |
connectToSocket(Destination peer) |
Like connect() but returns a real Socket, and throws only IOE,
for easier porting of apps.
|
Socket |
connectToSocket(Destination peer,
int timeout) |
Like connect() but returns a real Socket, and throws only IOE,
for easier porting of apps.
|
void |
destroySocketManager() |
Destroy the socket manager, freeing all the associated resources.
|
long |
getAcceptTimeout() |
|
I2PSocketOptions |
getDefaultOptions() |
Current options, not a copy, setters may be used to make changes.
|
String |
getName() |
For logging / diagnostics only
|
I2PServerSocket |
getServerSocket() |
Returns non-null socket.
|
I2PSession |
getSession() |
|
ServerSocket |
getStandardServerSocket() |
Like getServerSocket but returns a real ServerSocket for easier porting of apps.
|
List<I2PSession> |
getSubsessions() |
|
void |
init(I2PAppContext context,
I2PSession session,
Properties opts,
String name) |
Deprecated - Factory will initialize.
|
boolean |
isDestroyed() |
Has the socket manager been destroyed?
|
Set<I2PSocket> |
listSockets() |
Retrieve a set of currently connected I2PSockets, either initiated locally or remotely.
|
boolean |
ping(Destination peer,
int localPort,
int remotePort,
long timeoutMs) |
Ping the specified peer, returning true if they replied to the ping within
the timeout specified, false otherwise.
|
byte[] |
ping(Destination peer,
int localPort,
int remotePort,
long timeoutMs,
byte[] payload) |
Ping the specified peer, returning true if they replied to the ping within
the timeout specified, false otherwise.
|
boolean |
ping(Destination peer,
long timeoutMs) |
Ping the specified peer, returning true if they replied to the ping within
the timeout specified, false otherwise.
|
void |
removeDisconnectListener(I2PSocketManager.DisconnectListener lsnr) |
|
void |
removeSubsession(I2PSession session) |
|
void |
setAcceptTimeout(long ms) |
How long should we wait for the client to .accept() a socket before
sending back a NACK/Close?
|
void |
setDefaultOptions(I2PSocketOptions options) |
Update the options on a running socket manager.
|
void |
setName(String name) |
For logging / diagnostics only
|
I2PSession getSession()
I2PSession addSubsession(InputStream privateKeyStream, Properties opts) throws I2PSessionException
privateKeyStream - null for transient, if non-null must have same encryption keys as primary session
and different signing keysopts - subsession options if any, may be nullI2PSessionExceptionvoid removeSubsession(I2PSession session)
List<I2PSession> getSubsessions()
void setAcceptTimeout(long ms)
ms - milliseconds to wait, maximumlong getAcceptTimeout()
void setDefaultOptions(I2PSocketOptions options)
options - as created from a call to buildOptions(properties), non-nullI2PSocketOptions getDefaultOptions()
I2PServerSocket getServerSocket()
I2PSocketOptions buildOptions()
I2PSocketOptions buildOptions(Properties opts)
opts - The new options, may be nullI2PSocket connect(Destination peer, I2PSocketOptions options) throws I2PException, ConnectException, NoRouteToHostException, InterruptedIOException
peer - Destination to connect tooptions - I2P socket options to be used for connectingConnectException - if the peer refuses the connectionNoRouteToHostException - if the peer is not found or not reachableInterruptedIOException - if the connection timeoutsI2PException - if there is some other I2P-related problemI2PSocket connect(Destination peer) throws I2PException, ConnectException, NoRouteToHostException, InterruptedIOException
peer - Destination to connect toConnectException - if the peer refuses the connectionNoRouteToHostException - if the peer is not found or not reachableInterruptedIOException - if the connection timeoutsI2PException - if there is some other I2P-related problemvoid destroySocketManager()
boolean isDestroyed()
Set<I2PSocket> listSockets()
boolean ping(Destination peer, long timeoutMs)
peer - Destination to pingtimeoutMs - timeout in ms, greater than zeroIllegalArgumentExceptionboolean ping(Destination peer, int localPort, int remotePort, long timeoutMs)
peer - Destination to pinglocalPort - 0 - 65535remotePort - 0 - 65535timeoutMs - timeout in ms, greater than zeroIllegalArgumentExceptionbyte[] ping(Destination peer, int localPort, int remotePort, long timeoutMs, byte[] payload)
peer - Destination to pinglocalPort - 0 - 65535remotePort - 0 - 65535timeoutMs - timeout in ms, greater than zeropayload - to include in the pingIllegalArgumentExceptionString getName()
void setName(String name)
void init(I2PAppContext context, I2PSession session, Properties opts, String name)
UnsupportedOperationException - alwaysvoid addDisconnectListener(I2PSocketManager.DisconnectListener lsnr)
void removeDisconnectListener(I2PSocketManager.DisconnectListener lsnr)
ServerSocket getStandardServerSocket() throws IOException
IOExceptionSocket connectToSocket(Destination peer) throws IOException
IOExceptionSocket connectToSocket(Destination peer, int timeout) throws IOException
timeout - ms if > 0, forces blocking (disables connectDelay)IOException