Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.xmlrpc.webserver
Class Connection

    java.lang.Object
      org.apache.xmlrpc.webserver.Connection

All Implemented Interfaces:
  ServerStreamConnection, ThreadPool.InterruptableTask, ThreadPool.Task

    public class Connection

extends java.lang.Object
implements ThreadPool.InterruptableTask, ServerStreamConnection

Handler for a single clients connection. This implementation is able to do HTTP keepalive. In other words, it can serve multiple requests via a single, physical connection.

Constructor Summary
`Connection(WebServer pWebServer, XmlRpcStreamServer pServer, java.net.Socket pSocket)` Creates a new webserver connection on the given socket.

Method Summary
`void` | `close()` Closes the connection, and frees resources.
`java.io.InputStream` | `newInputStream()` Returns the connections input stream.
`java.io.OutputStream` | `newOutputStream()` Returns the connections output stream.
`void` | `run()` Performs the task.
`void` | `setResponseHeader(java.lang.String pHeader, java.lang.String pValue)` Sets a response header value.
`void` | `shutdown()` Interrupts the task.
`void` | `writeError(RequestData pData, java.lang.Throwable pError, java.io.ByteArrayOutputStream pStream)` Writes an error response to the output stream.
`void` | `writeErrorHeader(RequestData pData, java.lang.Throwable pError, int pContentLength)` Writes an error responses headers to the output stream.
`void` | `writeResponse(RequestData pData, java.io.OutputStream pBuffer)` Writes the response header and the response to the output stream.
`void` | `writeResponseHeader(RequestData pData, int pContentLength)` Writes the response header to the output stream

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

Constructor Detail

### Connection

    public Connection(WebServer pWebServer,
                      XmlRpcStreamServer pServer,
                      java.net.Socket pSocket)
               throws java.io.IOException

  Creates a new webserver connection on the given socket.

  Parameters:
    `pWebServer` - The webserver maintaining this connection.
    `pServer` - The server being used to execute requests.
    `pSocket` - The server socket to handle; the `Connection` is responsible for closing this socket.
  Throws:
    `java.io.IOException`

Method Detail

### run

    public void run()

  Description copied from interface: `ThreadPool.Task`
  Performs the task.

  Specified by:
    `run` in interface `ThreadPool.Task`

### writeResponse

    public void writeResponse(RequestData pData,
                              java.io.OutputStream pBuffer)
                       throws java.io.IOException

  Writes the response header and the response to the output stream.

  Parameters:
    `pData` - The request data.
    `pBuffer` - The `ByteArrayOutputStream` holding the response.
  Throws:
    `java.io.IOException` - Writing the response failed.

### writeResponseHeader

    public void writeResponseHeader(RequestData pData,
                                    int pContentLength)
                             throws java.io.IOException

  Writes the response header to the output stream. *

  Parameters:
    `pData` - The request data
    `pContentLength` - The content length, if known, or -1.
  Throws:
    `java.io.IOException` - Writing the response failed.

### writeError

    public void writeError(RequestData pData,
                           java.lang.Throwable pError,
                           java.io.ByteArrayOutputStream pStream)
                    throws java.io.IOException

  Writes an error response to the output stream.

  Parameters:
    `pData` - The request data.
    `pError` - The error being reported.
    `pStream` - The `ByteArrayOutputStream` with the error response.
  Throws:
    `java.io.IOException` - Writing the response failed.

### writeErrorHeader

    public void writeErrorHeader(RequestData pData,
                                 java.lang.Throwable pError,
                                 int pContentLength)
                          throws java.io.IOException

  Writes an error responses headers to the output stream.

  Parameters:
    `pData` - The request data.
    `pError` - The error being reported.
    `pContentLength` - The response length, if known, or -1.
  Throws:
    `java.io.IOException` - Writing the response failed.

### setResponseHeader

    public void setResponseHeader(java.lang.String pHeader,
                                  java.lang.String pValue)

  Sets a response header value.

### newOutputStream

    public java.io.OutputStream newOutputStream()
                                         throws java.io.IOException

  Description copied from interface: `ServerStreamConnection`
  Returns the connections output stream.

  Specified by:
    `newOutputStream` in interface `ServerStreamConnection`
  Throws:
    `java.io.IOException`

### newInputStream

    public java.io.InputStream newInputStream()
                                       throws java.io.IOException

  Description copied from interface: `ServerStreamConnection`
  Returns the connections input stream.

  Specified by:
    `newInputStream` in interface `ServerStreamConnection`
  Throws:
    `java.io.IOException`

### close

    public void close()
               throws java.io.IOException

  Description copied from interface: `ServerStreamConnection`
  Closes the connection, and frees resources.

  Specified by:
    `close` in interface `ServerStreamConnection`
  Throws:
    `java.io.IOException`

### shutdown

    public void shutdown()
                  throws java.lang.Throwable

  Description copied from interface: `ThreadPool.InterruptableTask`
  Interrupts the task.

  Specified by:
    `shutdown` in interface `ThreadPool.InterruptableTask`
  Throws:
    `java.lang.Throwable` - Shutting down the task failed.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.