Package org.firebirdsql.gds.ng.wire

## Class WireEventHandle

- java.lang.Object
- - org.firebirdsql.gds.ng.AbstractEventHandle
  - - org.firebirdsql.gds.ng.wire.WireEventHandle

- All Implemented Interfaces:
    `EventHandle`, `AsynchronousChannelListener`

      public final class WireEventHandle
      extends AbstractEventHandle
      implements AsynchronousChannelListener

  Event handle for the wire protocol.
  Since:
    3.0
  Author:
    Mark Rotteveel

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.firebirdsql.gds.ng.wire.AsynchronousChannelListener

      `AsynchronousChannelListener.Event`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WireEventHandle​(java.lang.String eventName, EventHandler eventHandler, Encoding encoding)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `assignNewLocalId()` | Generates a new local id for this event.
    `void` | `calculateCount()` |
    `void` | `channelClosing​(FbWireAsynchronousChannel channel)` | Signals the closing of an asynchronous channel.
    `void` | `eventReceived​(FbWireAsynchronousChannel channel, AsynchronousChannelListener.Event event)` | Signals that an event has been received.
    `int` | `getEventId()` | Get the internal event id number for this handle
    `int` | `getLocalId()` |
    `void` | `setEventId​(int eventId)` |
    `byte[]` | `toByteArray()` |
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class org.firebirdsql.gds.ng.AbstractEventHandle

      `getEventCount, getEventName, onEventOccurred, setEventCount`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### WireEventHandle

          public WireEventHandle​(java.lang.String eventName,
                                 EventHandler eventHandler,
                                 Encoding encoding)

  - ### Method Detail

    - #### calculateCount

          public void calculateCount()

    - #### setEventId

          public void setEventId​(int eventId)

      Parameters:
        `eventId` - The server side id of this event

    - #### getEventId

          public int getEventId()

      Description copied from interface: `EventHandle`
      Get the internal event id number for this handle
      Specified by:
        `getEventId` in interface `EventHandle`
      Returns:
        The internal event id

    - #### assignNewLocalId

          public int assignNewLocalId()

      Generates a new local id for this event.

    - #### getLocalId

          public int getLocalId()

      Returns:
        The current local id of this event.

    - #### toByteArray

          public byte[] toByteArray()
                             throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### channelClosing

          public void channelClosing​(FbWireAsynchronousChannel channel)

      Description copied from interface: `AsynchronousChannelListener`
      Signals the closing of an asynchronous channel.

      Fired before the channel is actually closed.

      Specified by:
        `channelClosing` in interface `AsynchronousChannelListener`
      Parameters:
        `channel` - The channel that is being closed

    - #### eventReceived

          public void eventReceived​(FbWireAsynchronousChannel channel,
                                    AsynchronousChannelListener.Event event)

      Description copied from interface: `AsynchronousChannelListener`
      Signals that an event has been received.

      Implementations should take care to only perform short processing on the current thread. If longer or complicated processing is necessary, please offload it to another thread or executor.

      Specified by:
        `eventReceived` in interface `AsynchronousChannelListener`
      Parameters:
        `channel` - The channel that received the event
        `event` - The event received

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`