class SAMv2StreamSession extends SAMStreamSession
Modifier and Type | Class and Description |
---|---|
class |
SAMv2StreamSession.SAMv2StreamSessionSocketReader
SAM STREAM socket reader, running in its own thread.
|
SAMStreamSession.DisconnectListener, SAMStreamSession.SAMStreamSessionServer, SAMStreamSession.SAMStreamSessionSocketReader, SAMStreamSession.SAMv1StreamSessionSocketReader, SAMStreamSession.StreamSender
_isOwnSession, _log, canCreate, DEFAULT_FORCE_FLUSH, forceFlush, PROP_FORCE_FLUSH, recv, server, SOCKET_HANDLER_BUF_SIZE, socketMgr
Constructor and Description |
---|
SAMv2StreamSession(InputStream destStream,
String dir,
Properties props,
SAMStreamReceiver recv)
Create a new SAM STREAM session.
|
SAMv2StreamSession(String dest,
String dir,
Properties props,
SAMStreamReceiver recv)
Create a new SAM STREAM session.
|
Modifier and Type | Method and Description |
---|---|
boolean |
connect(int id,
String dest,
Properties props)
Connect the SAM STREAM session to the specified Destination
|
protected SAMStreamSession.SAMStreamSessionSocketReader |
newSAMStreamSessionSocketReader(I2PSocket s,
int id) |
protected SAMStreamSession.StreamSender |
newStreamSender(I2PSocket s,
int id)
Lets us push data through the stream without blocking, (even after exceeding
the I2PSocket's buffer)
|
boolean |
setReceiveLimit(int id,
long limit,
boolean nolimit)
Send bytes through a SAM STREAM session.
|
checkSocketHandlerId, close, closeConnection, createSocketHandler, getDestination, getListenPort, getListenProtocol, getSocketReader, removeSocketHandler, sendBytes, sendBytes, sendBytes, start
public SAMv2StreamSession(String dest, String dir, Properties props, SAMStreamReceiver recv) throws IOException, DataFormatException, SAMException
dest
- Base64-encoded destination and private keys (same format as PrivateKeyFile)dir
- Session direction ("RECEIVE", "CREATE" or "BOTH")props
- Properties to setup the I2P sessionrecv
- Object that will receive incoming dataIOException
DataFormatException
SAMException
public SAMv2StreamSession(InputStream destStream, String dir, Properties props, SAMStreamReceiver recv) throws IOException, DataFormatException, SAMException
destStream
- Input stream containing the destination and private keys (same format as PrivateKeyFile)dir
- Session direction ("RECEIVE", "CREATE" or "BOTH")props
- Properties to setup the I2P sessionrecv
- Object that will receive incoming dataIOException
DataFormatException
SAMException
public boolean connect(int id, String dest, Properties props) throws DataFormatException, SAMInvalidDirectionException
connect
in class SAMStreamSession
id
- Unique id for the connectiondest
- Base64-encoded Destination to connect toprops
- Options to be used for connectionDataFormatException
- if the destination is not validSAMInvalidDirectionException
- if trying to connect through a
receive-only sessionprotected SAMStreamSession.StreamSender newStreamSender(I2PSocket s, int id) throws IOException
newStreamSender
in class SAMStreamSession
s
- I2PSocketid
- Socket IDIOException
protected SAMStreamSession.SAMStreamSessionSocketReader newSAMStreamSessionSocketReader(I2PSocket s, int id) throws IOException
newSAMStreamSessionSocketReader
in class SAMStreamSession
IOException
public boolean setReceiveLimit(int id, long limit, boolean nolimit)
setReceiveLimit
in class SAMStreamSession
id
- Stream IDlimit
- limitationnolimit
- true to limit