org.apache.catalina.comet

## Interface CometEvent

- All Known Implementing Classes:
    CometEventImpl

      public interface CometEvent

  The CometEvent interface.
  Author:
    Filip Hanik, Remy Maucherat

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `CometEvent.EventSubType` Event details.
    `static class` | `CometEvent.EventType` Enumeration describing the major events that the container can invoke the CometProcessors event() method with.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Ends the Comet session.
    `CometEvent.EventSubType` | `getEventSubType()` Returns the sub type of this event.
    `CometEvent.EventType` | `getEventType()` Returns the event type.
    `HttpServletRequest` | `getHttpServletRequest()` Returns the HttpServletRequest.
    `HttpServletResponse` | `getHttpServletResponse()` Returns the HttpServletResponse.
    `void` | `setTimeout(int timeout)` Sets the timeout for this Comet connection.

- - ### Method Detail

    - #### getHttpServletRequest

          HttpServletRequest getHttpServletRequest()

      Returns the HttpServletRequest.
      Returns:
        HttpServletRequest

    - #### getHttpServletResponse

          HttpServletResponse getHttpServletResponse()

      Returns the HttpServletResponse.
      Returns:
        HttpServletResponse

    - #### getEventType

          CometEvent.EventType getEventType()

      Returns the event type.
      Returns:
        EventType

    - #### getEventSubType

          CometEvent.EventSubType getEventSubType()

      Returns the sub type of this event.
      Returns:
        EventSubType

    - #### close

          void close()
                     throws IOException

      Ends the Comet session. This signals to the container that the container wants to end the comet session. This will send back to the client a notice that the server has no more data to send as part of this request. The servlet should perform any needed cleanup as if it had received an END or ERROR event.
      Throws:
        `IOException` - if an IO exception occurs

    - #### setTimeout

          void setTimeout(int timeout)
                          throws IOException,
                                 ServletException,
                                 UnsupportedOperationException

      Sets the timeout for this Comet connection. Please NOTE, that the implementation of a per connection timeout is OPTIONAL and MAY NOT be implemented.
      This method sets the timeout in milliseconds of idle time on the connection. The timeout is reset every time data is received from the connection or data is flushed using `response.flushBuffer()`. If a timeout occurs, the `error(HttpServletRequest, HttpServletResponse)` method is invoked. The web application SHOULD NOT attempt to reuse the request and response objects after a timeout as the `error(HttpServletRequest, HttpServletResponse)` method indicates.
      This method should not be called asynchronously, as that will have no effect.
      Parameters:
        `timeout` - The timeout in milliseconds for this connection, must be a positive value, larger than 0
      Throws:
        `IOException` - An IOException may be thrown to indicate an IO error, or that the EOF has been reached on the connection
        `ServletException` - An exception has occurred, as specified by the root cause
        `UnsupportedOperationException` - if per connection timeout is not supported, either at all or at this phase of the invocation.

Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.