|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface I2PSocketManager
Centralize the coordination and multiplexing of the local client's streaming. There should be one I2PSocketManager for each I2PSession, and if an application is sending and receiving data through the streaming library using an I2PSocketManager, it should not attempt to call I2PSession's setSessionListener or receive any messages with its .receiveMessage
Nested Class Summary | |
---|---|
static interface |
I2PSocketManager.DisconnectListener
|
Method Summary | |
---|---|
void |
addDisconnectListener(I2PSocketManager.DisconnectListener lsnr)
|
I2PSession |
addSubsession(InputStream privateKeyStream,
Properties opts)
|
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 |
Method Detail |
---|
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 null
I2PSessionException
void 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 connecting
ConnectException
- if the peer refuses the connection
NoRouteToHostException
- if the peer is not found or not reachable
InterruptedIOException
- if the connection timeouts
I2PException
- if there is some other I2P-related problemI2PSocket connect(Destination peer) throws I2PException, ConnectException, NoRouteToHostException, InterruptedIOException
peer
- Destination to connect to
ConnectException
- if the peer refuses the connection
NoRouteToHostException
- if the peer is not found or not reachable
InterruptedIOException
- if the connection timeouts
I2PException
- 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 zero
IllegalArgumentException
boolean ping(Destination peer, int localPort, int remotePort, long timeoutMs)
peer
- Destination to pinglocalPort
- 0 - 65535remotePort
- 0 - 65535timeoutMs
- timeout in ms, greater than zero
IllegalArgumentException
byte[] 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 ping
IllegalArgumentException
String 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
IOException
Socket connectToSocket(Destination peer) throws IOException
IOException
Socket connectToSocket(Destination peer, int timeout) throws IOException
timeout
- ms if > 0, forces blocking (disables connectDelay)
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |