org.w3c.www.protocol.http
Class HttpServer

java.lang.Object
  extended by org.w3c.www.protocol.http.HttpServer
Direct Known Subclasses:
HttpBasicServer, HttpMuxServer

public abstract class HttpServer
extends java.lang.Object

The HttpServer interface. This interface is used to control the communication between the HttpManager and the HttpServer on one side, and between the HttpServer and the HttpConnection on the other side.

The implementation of the Connection part of the interface is optional and should be provided only if your server instance uses the connection concept.


Field Summary
protected  org.w3c.www.protocol.http.HttpServerState state
           
 
Constructor Summary
HttpServer()
           
 
Method Summary
abstract  short getMajorVersion()
          Get this server's major version number.
abstract  short getMinorVersion()
          Get this server's minor version number.
abstract  java.lang.String getProtocol()
          Get this servers' protocol.
protected  org.w3c.www.protocol.http.HttpServerState getState()
          Get the manager's state for that server.
abstract  void initialize(HttpManager manager, org.w3c.www.protocol.http.HttpServerState state, java.lang.String host, int port, int timeout)
          Initialize this server instance for the given target location.
abstract  void initialize(HttpManager manager, org.w3c.www.protocol.http.HttpServerState state, java.lang.String host, int port, int timeout, int connect_timeout)
          Initialize this server instance for the given target location.
protected abstract  void interruptRequest(Request request)
          Interrupt the given request (that was launched by that server).
abstract  Reply runRequest(Request request)
          HTTP manager interface - Handle this request in sync mode.
protected abstract  void setConnTimeout(int conn_timeout)
          Set the new connection timeout for this server
protected abstract  void setTimeout(int timeout)
          Set the new timeout for this server
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

state

protected org.w3c.www.protocol.http.HttpServerState state
Constructor Detail

HttpServer

public HttpServer()
Method Detail

getProtocol

public abstract java.lang.String getProtocol()
Get this servers' protocol.

Returns:
A String encoding the protocol used to dialog with the target server.

getState

protected final org.w3c.www.protocol.http.HttpServerState getState()
Get the manager's state for that server.

Returns:
The manager state.

getMajorVersion

public abstract short getMajorVersion()
Get this server's major version number.

Returns:
The server's major number version, or -1 if still unknown.

getMinorVersion

public abstract short getMinorVersion()
Get this server's minor version number.

Returns:
The server's minor number version, or -1 if still unknown.

runRequest

public abstract Reply runRequest(Request request)
                          throws HttpException
HTTP manager interface - Handle this request in sync mode.

Parameters:
request - The request this server should run.
Returns:
A Reply instance, containing the target server's reply.
Throws:
HttpException - If anything failed during request processing.

interruptRequest

protected abstract void interruptRequest(Request request)
Interrupt the given request (that was launched by that server).

Parameters:
request - The request to interrupt.

setTimeout

protected abstract void setTimeout(int timeout)
Set the new timeout for this server

Parameters:
timeout - The timeout value in milliseconds

setConnTimeout

protected abstract void setConnTimeout(int conn_timeout)
Set the new connection timeout for this server

Parameters:
timeout - The timeout value in milliseconds

initialize

public abstract void initialize(HttpManager manager,
                                org.w3c.www.protocol.http.HttpServerState state,
                                java.lang.String host,
                                int port,
                                int timeout)
                         throws HttpException
Initialize this server instance for the given target location.

Parameters:
manager - The central HTTP protocol manager.
state - The manager's state for that server.
host - The target server's FQDN.
port - The target server's port number.
timeout - The timeout in millisecond for the sockets
Throws:
HttpException - If host coulnd't be resolved.

initialize

public abstract void initialize(HttpManager manager,
                                org.w3c.www.protocol.http.HttpServerState state,
                                java.lang.String host,
                                int port,
                                int timeout,
                                int connect_timeout)
                         throws HttpException
Initialize this server instance for the given target location.

Parameters:
manager - The central HTTP protocol manager.
state - The manager's state for that server.
host - The target server's FQDN.
port - The target server's port number.
timeout - The timeout in millisecond for the sockets
timeout - The connection timeout in millisecond for the sockets
Throws:
HttpException - If host coulnd't be resolved.