net.i2p.sam
Class SAMDatagramSession

java.lang.Object
  extended by net.i2p.sam.SAMMessageSession
      extended by net.i2p.sam.SAMDatagramSession
All Implemented Interfaces:
Closeable
Direct Known Subclasses:
SAMv3DatagramSession

 class SAMDatagramSession
extends SAMMessageSession

SAM DATAGRAM session class.

Author:
human

Nested Class Summary
 
Nested classes/interfaces inherited from class net.i2p.sam.SAMMessageSession
SAMMessageSession.SAMMessageSessionHandler
 
Field Summary
static int DGRAM_SIZE_MAX
           
protected  SAMDatagramReceiver recv
           
 
Fields inherited from class net.i2p.sam.SAMMessageSession
_log
 
Constructor Summary
SAMDatagramSession(InputStream destStream, Properties props, SAMDatagramReceiver recv)
          Create a new SAM DATAGRAM session.
SAMDatagramSession(String dest, Properties props, SAMDatagramReceiver recv)
          Create a new SAM DATAGRAM session.
 
Method Summary
protected  void messageReceived(byte[] msg)
          Handle a new received message
 boolean sendBytes(String dest, byte[] data)
          Send bytes through a SAM DATAGRAM session.
protected  void shutDown()
          Do whatever is needed to shutdown the SAM session
 
Methods inherited from class net.i2p.sam.SAMMessageSession
close, getDestination, getI2PSession, sendBytesThroughMessageSession
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DGRAM_SIZE_MAX

public static final int DGRAM_SIZE_MAX
See Also:
Constant Field Values

recv

protected SAMDatagramReceiver recv
Constructor Detail

SAMDatagramSession

public SAMDatagramSession(String dest,
                          Properties props,
                          SAMDatagramReceiver recv)
                   throws IOException,
                          DataFormatException,
                          I2PSessionException
Create a new SAM DATAGRAM session.

Parameters:
dest - Base64-encoded destination (private key)
props - Properties to setup the I2P session
recv - Object that will receive incoming data
Throws:
IOException
DataFormatException
I2PSessionException

SAMDatagramSession

public SAMDatagramSession(InputStream destStream,
                          Properties props,
                          SAMDatagramReceiver recv)
                   throws IOException,
                          DataFormatException,
                          I2PSessionException
Create a new SAM DATAGRAM session.

Parameters:
destStream - Input stream containing the destination keys
props - Properties to setup the I2P session
recv - Object that will receive incoming data
Throws:
IOException
DataFormatException
I2PSessionException
Method Detail

sendBytes

public boolean sendBytes(String dest,
                         byte[] data)
                  throws DataFormatException,
                         I2PSessionException
Send bytes through a SAM DATAGRAM session.

Specified by:
sendBytes in class SAMMessageSession
Parameters:
dest - Destination
data - Bytes to be sent
Returns:
True if the data was sent, false otherwise
Throws:
DataFormatException - on unknown / bad dest
I2PSessionException - on serious error, probably session closed

messageReceived

protected void messageReceived(byte[] msg)
Description copied from class: SAMMessageSession
Handle a new received message

Specified by:
messageReceived in class SAMMessageSession
Parameters:
msg - Message payload

shutDown

protected void shutDown()
Description copied from class: SAMMessageSession
Do whatever is needed to shutdown the SAM session

Specified by:
shutDown in class SAMMessageSession