Package org.apache.coyote

## Interface Adapter

All Known Implementing Classes:
  `CoyoteAdapter`

    public interface Adapter

Adapter. This represents the entry point in a coyote-based servlet container.

Author:
  Remy Maucherat
See Also:
  `ProtocolHandler`

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `asyncDispatch​(Request req, Response res, SocketEvent status)`
`void` `checkRecycled​(Request req, Response res)` Assert that request and response have been recycled.
`java.lang.String` `getDomain()` Provide the name of the domain to use to register MBeans for components associated with the connector.
`void` `log​(Request req, Response res, long time)`
`boolean` `prepare​(Request req, Response res)` Prepare the given request/response for processing.
`void` `service​(Request req, Response res)` Call the service method, and notify all listeners

### Method Detail

#### service

    void service​(Request req,
                 Response res)
          throws java.lang.Exception

Call the service method, and notify all listeners

Parameters:
  `req` - The request object
  `res` - The response object
Throws:
  `java.lang.Exception` - if an error happens during handling of the request. Common errors are:
  - IOException if an input/output error occurs and we are processing an included servlet (otherwise it is swallowed and handled by the top level error handler mechanism)
  - ServletException if a servlet throws an exception and we are processing an included servlet (otherwise it is swallowed and handled by the top level error handler mechanism)
  Tomcat should be able to handle and log any other exception ( including runtime exceptions )

#### prepare

    boolean prepare​(Request req,
                    Response res)
             throws java.lang.Exception

Prepare the given request/response for processing. This method requires that the request object has been populated with the information available from the HTTP headers.

Parameters:
  `req` - The request object
  `res` - The response object
Returns:
  `true` if processing can continue, otherwise `false` in which case an appropriate error will have been set on the response
Throws:
  `java.lang.Exception` - If the processing fails unexpectedly

#### asyncDispatch

    boolean asyncDispatch​(Request req,
                          Response res,
                          SocketEvent status)
                   throws java.lang.Exception

Throws:
  `java.lang.Exception`

#### log

    void log​(Request req,
             Response res,
             long time)

#### checkRecycled

    void checkRecycled​(Request req,
                       Response res)

Assert that request and response have been recycled. If they have not then log a warning and force a recycle. This method is called as a safety check when a processor is being recycled and may be returned to a pool for reuse.

Parameters:
  `req` - Request
  `res` - Response

#### getDomain

    java.lang.String getDomain()

Provide the name of the domain to use to register MBeans for components associated with the connector.

Returns:
  The MBean domain name