net.i2p.sam
Class SAMDatagramSession

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

public 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
           
 
Constructor Summary
SAMDatagramSession(java.io.InputStream destStream, java.util.Properties props, SAMDatagramReceiver recv)
          Create a new SAM DATAGRAM session.
SAMDatagramSession(java.lang.String dest, java.util.Properties props, SAMDatagramReceiver recv)
          Create a new SAM DATAGRAM session.
 
Method Summary
protected  void messageReceived(byte[] msg)
          Handle a new received message
 boolean sendBytes(java.lang.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 int DGRAM_SIZE_MAX

recv

protected SAMDatagramReceiver recv
Constructor Detail

SAMDatagramSession

public SAMDatagramSession(java.lang.String dest,
                          java.util.Properties props,
                          SAMDatagramReceiver recv)
                   throws java.io.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:
java.io.IOException
DataFormatException
I2PSessionException

SAMDatagramSession

public SAMDatagramSession(java.io.InputStream destStream,
                          java.util.Properties props,
                          SAMDatagramReceiver recv)
                   throws java.io.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:
java.io.IOException
DataFormatException
I2PSessionException
Method Detail

sendBytes

public boolean sendBytes(java.lang.String dest,
                         byte[] data)
                  throws DataFormatException
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

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