class SAMv3StreamSession extends SAMStreamSession implements Session
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 |
---|
SAMv3StreamSession(String login)
Create a new SAM STREAM session, according to information
registered with the given nickname
Caller MUST call start().
|
SAMv3StreamSession(String login,
Properties props,
SAMv3Handler handler,
I2PSocketManager mgr,
int listenPort)
Build a Stream Session on an existing I2P session
registered with the given nickname
Caller MUST call start().
|
Modifier and Type | Method and Description |
---|---|
void |
accept(SAMv3Handler handler,
boolean verbose)
Accept a single incoming STREAM on the socket stolen from the handler.
|
void |
close()
Close the stream session
TODO Why do we override?
|
void |
connect(SAMv3Handler handler,
String dest,
Properties props)
Connect the SAM STREAM session to the specified Destination
for a single connection, using the socket stolen from the handler.
|
static SessionsDB |
getDB() |
String |
getNick() |
protected I2PServerSocket |
getSocketServer() |
boolean |
queueSocket(I2PSocket sock)
Put a socket on the accept queue.
|
void |
startForwardingIncoming(Properties props,
boolean sendPorts)
Forward sockets from I2P to the host/port provided.
|
void |
stopForwardingIncoming()
stop Forwarding Incoming connection coming from I2P
|
checkSocketHandlerId, closeConnection, connect, createSocketHandler, getDestination, getListenPort, getListenProtocol, getSocketReader, newSAMStreamSessionSocketReader, newStreamSender, removeSocketHandler, sendBytes, sendBytes, sendBytes, setReceiveLimit, start
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDestination, getListenPort, getListenProtocol, sendBytes, sendBytes, start
public SAMv3StreamSession(String login) throws IOException, DataFormatException, SAMException
login
- The nicknameIOException
DataFormatException
SAMException
NullPointerException
- if login nickname is not registeredpublic SAMv3StreamSession(String login, Properties props, SAMv3Handler handler, I2PSocketManager mgr, int listenPort) throws IOException, DataFormatException, SAMException
login
- nickname of the sessionIOException
DataFormatException
SAMException
public boolean queueSocket(I2PSocket sock)
public static SessionsDB getDB()
public void connect(SAMv3Handler handler, String dest, Properties props) throws I2PException, ConnectException, NoRouteToHostException, DataFormatException, InterruptedIOException, IOException
handler
- The handler that communicates with the requesting clientdest
- Base64-encoded Destination to connect toprops
- Options to be used for connectionDataFormatException
- if the destination is not validConnectException
- if the destination refuses connectionsNoRouteToHostException
- if the destination can't be reachedInterruptedIOException
- if the connection timeoutsI2PException
- if there's another I2P-related errorIOException
public void accept(SAMv3Handler handler, boolean verbose) throws I2PException, InterruptedIOException, IOException, SAMException
handler
- The handler that communicates with the requesting clientverbose
- If true, SAM will send the Base64-encoded peer Destination of an
incoming socket as the first line of data sent to its client
on the handler socketDataFormatException
- if the destination is not validConnectException
- if the destination refuses connectionsNoRouteToHostException
- if the destination can't be reachedInterruptedIOException
- if the connection timeoutsI2PException
- if there's another I2P-related errorIOException
SAMException
public void startForwardingIncoming(Properties props, boolean sendPorts) throws SAMException, InterruptedIOException
SAMException
InterruptedIOException
protected I2PServerSocket getSocketServer()
public void stopForwardingIncoming() throws SAMException, InterruptedIOException
SAMException
InterruptedIOException
public void close()
close
in interface Closeable
close
in interface AutoCloseable
close
in interface SAMMessageSess
close
in class SAMStreamSession