net.i2p.sam

## Class SAMDatagramSession

- java.lang.Object
- - net.i2p.sam.SAMMessageSession
  - - 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

Fields
`static int` `DGRAM_SIZE_MAX`
`protected SAMDatagramReceiver` `recv`

### Constructor Summary

Constructors
Constructor and Description
`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

Methods
`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 int DGRAM_SIZE_MAX

#### 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

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`