gr.uoa.di.madgik.grs.proxy.http
Class HTTPConnectionHandler
java.lang.Object
gr.uoa.di.madgik.grs.proxy.http.HTTPConnectionHandler
- All Implemented Interfaces:
- gr.uoa.di.madgik.commons.server.http.IHTTPConnectionManagerEntry
public class HTTPConnectionHandler
- extends java.lang.Object
- implements gr.uoa.di.madgik.commons.server.http.IHTTPConnectionManagerEntry
A connection handler that can be registered with the
HTTPConnectionManager
in order to receive incoming HTTP connection from
clients. This entry is set to serve connections for the gRS2 component
- Author:
- Alex Antoniadis
Nested classes/interfaces inherited from interface gr.uoa.di.madgik.commons.server.http.IHTTPConnectionManagerEntry |
gr.uoa.di.madgik.commons.server.http.IHTTPConnectionManagerEntry.NamedEntry |
Method Summary |
gr.uoa.di.madgik.commons.server.http.IHTTPConnectionManagerEntry.NamedEntry |
GetName()
|
void |
HandleConnection(java.net.Socket socket,
java.lang.String request,
java.io.BufferedOutputStream out,
java.lang.String key)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HTTPConnectionHandler
public HTTPConnectionHandler()
GetName
public gr.uoa.di.madgik.commons.server.http.IHTTPConnectionManagerEntry.NamedEntry GetName()
-
The connection manager entry this handler can serve. The entry returned
is marked with
gr.uoa.di.madgik.commons.server.IHTTPConnectionManagerEntry.NamedEntry#gRS2
- Specified by:
GetName
in interface gr.uoa.di.madgik.commons.server.http.IHTTPConnectionManagerEntry
- See Also:
gr.uoa.di.madgik.commons.server.IHTTPConnectionManagerEntry#GetName()
HandleConnection
public void HandleConnection(java.net.Socket socket,
java.lang.String request,
java.io.BufferedOutputStream out,
java.lang.String key)
-
After a request of the correct type has reached
HTTPConnectionManager
, it is forwarded here where the specific
IBuffer
and its serving IMirror
is located. The request
is forwarded to the IMirror
and the operation is completed in
this thread of execution. In the IMirror
thread of execution, the
mirroring protocol is initiated and served.
The IMirror
that is expected by this handler is one that manages
HTTP connections, the HTTPWriterMirror
over which the
HTTPWriterMirror#setSocket(Socket)
and
HTTPWriterMirror.setKey(String)
is set before a call to
HTTPWriterMirror#handle()
is invoked.
If the state of the HTTPWriterMirror
thread is not
Thread.State.NEW
m then the connection is discarded as there is already a
mirroring process in progress
- Specified by:
HandleConnection
in interface gr.uoa.di.madgik.commons.server.http.IHTTPConnectionManagerEntry
- See Also:
gr.uoa.di.madgik.commons.server.IHTTPConnectionManagerEntry#HandleConnection(java.net.Socket)