|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectvoldemort.store.socket.clientrequest.AbstractClientRequest<T>
T
- Return typepublic abstract class AbstractClientRequest<T>
AbstractClientRequest implements ClientRequest to provide some basic mechanisms that most implementations will need.
Constructor Summary | |
---|---|
AbstractClientRequest()
|
Method Summary | |
---|---|
void |
complete()
Called by the ClientRequestExecutor once all the processing
(normal or abnormal) has occurred on the ClientRequest object. |
boolean |
formatRequest(java.io.DataOutputStream outputStream)
This eventually calls into a nested RequestFormat instance's
writeXxx method. |
protected abstract void |
formatRequestInternal(java.io.DataOutputStream outputStream)
|
T |
getResult()
Once completed has been called, this will return the result of the request or thrown an error if the request wasn't completed. |
boolean |
isComplete()
Returns true if ClientRequest.complete() was called. |
boolean |
isTimedOut()
Returns true if ClientRequestExecutor timed out. |
void |
parseResponse(java.io.DataInputStream inputStream)
Parses the response from the server to turn it into a result. |
protected abstract T |
parseResponseInternal(java.io.DataInputStream inputStream)
|
void |
timeOut()
Called by the ClientRequestExecutor after it has timed out. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface voldemort.store.socket.clientrequest.ClientRequest |
---|
isCompleteResponse |
Constructor Detail |
---|
public AbstractClientRequest()
Method Detail |
---|
protected abstract void formatRequestInternal(java.io.DataOutputStream outputStream) throws java.io.IOException
java.io.IOException
protected abstract T parseResponseInternal(java.io.DataInputStream inputStream) throws java.io.IOException
java.io.IOException
public boolean formatRequest(java.io.DataOutputStream outputStream)
ClientRequest
RequestFormat
instance's
writeXxx method. The ClientRequest actually buffers all I/O, so the data
written via formatRequest is actually inserted into a ByteBuffer
which is later sent over the wire to the server.
This is used internally by the ClientRequest
logic and should not
be invoked by users of the sub-system.
formatRequest
in interface ClientRequest<T>
outputStream
- Write the request to this output streampublic void parseResponse(java.io.DataInputStream inputStream)
ClientRequest
ClientRequest.getResult()
is called.
This is used internally by the ClientRequest
logic and should not
be invoked by users of the sub-system.
parseResponse
in interface ClientRequest<T>
inputStream
- InputStream from which to read the responsepublic T getResult() throws VoldemortException, java.io.IOException
ClientRequest
getResult
in interface ClientRequest<T>
VoldemortException
java.io.IOException
public final void complete()
ClientRequest
ClientRequestExecutor
once all the processing
(normal or abnormal) has occurred on the ClientRequest
object.
This exists mainly to implement blocking operations whereby we need to
have a mechanism to unblock the caller waiting for the response.
This is used internally by the ClientRequest
logic and should not
be invoked by users of the sub-system.
complete
in interface ClientRequest<T>
public boolean isComplete()
ClientRequest
true
if ClientRequest.complete()
was called.
isComplete
in interface ClientRequest<T>
true
if completed, false
otherwisepublic final void timeOut()
ClientRequest
ClientRequestExecutor
after it has timed out. This
is different from the complete call, since the timeout event needs to be
notified to the caller in a special way.
This is used internally by the ClientRequest
logic and should not
be invoked by users of the sub-system.
timeOut
in interface ClientRequest<T>
public boolean isTimedOut()
ClientRequest
true
if ClientRequestExecutor
timed out.
isTimedOut
in interface ClientRequest<T>
true
if timed out, false
otherwise
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |