## net.i2p.i2ptunnel.udp
Class I2PSource.Listener

    java.lang.Object
      net.i2p.i2ptunnel.udp.I2PSource.Listener

All Implemented Interfaces:
  I2PSessionListener

Enclosing class:
  I2PSource

    protected class I2PSource.Listener

extends Object
implements I2PSessionListener

Constructor Summary
`protected` `I2PSource.Listener()`

Method Summary
`void` `disconnected(I2PSession arg0)` Notify the client that the session has been terminated
`void` `errorOccurred(I2PSession arg0, String arg1, Throwable arg2)` Notify the client that some error occurred
`void` `messageAvailable(I2PSession sess, int id, long size)` Instruct the client that the given session has received a message with size # of bytes.
`void` `reportAbuse(I2PSession arg0, int arg1)` Instruct the client that the session specified seems to be under attack and that the client may wish to move its destination to another router.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### I2PSource.Listener

    protected I2PSource.Listener()

Method Detail

### messageAvailable

    public void messageAvailable(I2PSession sess,
                                 int id,
                                 long size)

  Description copied from interface: `I2PSessionListener`
  Instruct the client that the given session has received a message with size # of bytes.

  Specified by:
    `messageAvailable` in interface `I2PSessionListener`
  Parameters:
    `sess` - session to notify
    `id` - message number available
    `size` - size of the message - why it's a long and not an int is a mystery

### reportAbuse

    public void reportAbuse(I2PSession arg0,
                            int arg1)

  Description copied from interface: `I2PSessionListener`
  Instruct the client that the session specified seems to be under attack and that the client may wish to move its destination to another router.

  Specified by:
    `reportAbuse` in interface `I2PSessionListener`
  Parameters:
    `arg0` - session to report abuse to
    `arg1` - how bad the abuse is

### disconnected

    public void disconnected(I2PSession arg0)

  Description copied from interface: `I2PSessionListener`
  Notify the client that the session has been terminated

  Specified by:
    `disconnected` in interface `I2PSessionListener`

### errorOccurred

    public void errorOccurred(I2PSession arg0,
                              String arg1,
                              Throwable arg2)

  Description copied from interface: `I2PSessionListener`
  Notify the client that some error occurred

  Specified by:
    `errorOccurred` in interface `I2PSessionListener`