Package tigase.server.xmppclient

## Interface XMPPIOProcessor

- All Known Implementing Classes:
    `RegistrationThrottlingProcessor`, `StreamErrorCounterIOProcessor`, `StreamManagementIOProcessor`

      public interface XMPPIOProcessor

  Author:
    andrzej

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getId()` | Returns identifier of processor
    `void` | `getStatistics​(StatisticsList list)` | Returns statistics generated by this processor
    `void` | `packetsSent​(XMPPIOService service)` | Method is called when all waiting data was written to socket.
    `void` | `processCommand​(XMPPIOService service, Packet packet)` | Process command execution which may be sent from other component and should be processed by processor
    `boolean` | `processIncoming​(XMPPIOService service, Packet packet)` | Process packets read from socket as they are sent to SessionManager.
    `boolean` | `processOutgoing​(XMPPIOService service, Packet packet)` | Process outgoing packets as they are added to XMPPIOService outgoing packets queue.
    `boolean` | `serviceStopped​(XMPPIOService service, boolean streamClosed)` | Method called when XMPPIOService is closed.
    `void` | `streamError​(XMPPIOService service, StreamError streamError)` | Method called when XMPP stream error is about to be sent
    `Element[]` | `supStreamFeatures​(XMPPIOService service)` | Returns array of features added by this processor

- - ### Method Detail

    - #### getId

          java.lang.String getId()

      Returns identifier of processor

    - #### getStatistics

          void getStatistics​(StatisticsList list)

      Returns statistics generated by this processor

    - #### supStreamFeatures

          Element[] supStreamFeatures​(XMPPIOService service)

      Returns array of features added by this processor

    - #### processIncoming

          boolean processIncoming​(XMPPIOService service,
                                  Packet packet)

      Process packets read from socket as they are sent to SessionManager.
      Returns:
        true if packet should not be forwarded

    - #### processOutgoing

          boolean processOutgoing​(XMPPIOService service,
                                  Packet packet)

      Process outgoing packets as they are added to XMPPIOService outgoing packets queue.
      Returns:
        true if packet should be removed

    - #### packetsSent

          void packetsSent​(XMPPIOService service)
                    throws java.io.IOException

      Method is called when all waiting data was written to socket.
      Throws:
        `java.io.IOException`

    - #### processCommand

          void processCommand​(XMPPIOService service,
                              Packet packet)

      Process command execution which may be sent from other component and should be processed by processor

    - #### serviceStopped

          boolean serviceStopped​(XMPPIOService service,
                                 boolean streamClosed)

      Method called when XMPPIOService is closed.
      Returns:
        true if connecton manager should not be notified about stopping of this service

    - #### streamError

          void streamError​(XMPPIOService service,
                           StreamError streamError)

      Method called when XMPP stream error is about to be sent