Package net.officefloor.server
Interface RequestHandler<R>
-
public interface RequestHandler<R>
Handles requests.- Author:
- Daniel Sagenschneider
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
closeConnection(java.lang.Throwable exception)
Allows to close connection.void
execute(SocketRunnable runnable)
StreamBufferPool<java.nio.ByteBuffer>
getStreamBufferPool()
Obtains theStreamBufferPool
for thsiRequestHandler
.void
handleRequest(R request)
Handles a request.boolean
isReadingInput()
Indicates if readingSocket
input from client.void
sendImmediateData(StreamBuffer<java.nio.ByteBuffer> immediateHead)
Sends data immediately.
-
-
-
Method Detail
-
isReadingInput
boolean isReadingInput()
Indicates if reading
Socket
input from client.To avoid out of memory, the reading from the
Socket
may be halted temporarily. This indicates if actively reading input from theSocket
.- Returns:
true
if readingSocket
input from client.
-
getStreamBufferPool
StreamBufferPool<java.nio.ByteBuffer> getStreamBufferPool()
Obtains theStreamBufferPool
for thsiRequestHandler
.- Returns:
StreamBufferPool
for thsiRequestHandler
.
-
execute
void execute(SocketRunnable runnable)
- Parameters:
runnable
-SocketRunnable
.
-
handleRequest
void handleRequest(R request) throws java.io.IOException, java.lang.IllegalStateException
Handles a request.
This may only be invoked by the
Socket
Thread
.- Parameters:
request
- Request.- Throws:
java.io.IOException
- If fails to handle the request.java.lang.IllegalStateException
- If invoked from anotherThread
.
-
sendImmediateData
void sendImmediateData(StreamBuffer<java.nio.ByteBuffer> immediateHead) throws java.lang.IllegalStateException
Sends data immediately.
This may only be invoked by the
Socket
Thread
.- Parameters:
immediateHead
- HeadStreamBuffer
to linked list ofStreamBuffer
instances of data to send immediately.- Throws:
java.lang.IllegalStateException
- If invoked from anotherThread
.
-
closeConnection
void closeConnection(java.lang.Throwable exception)
Allows to close connection.- Parameters:
exception
- OptionalException
for the cause of closing the connection.null
to indicate normal close.
-
-