net.handle.hdllib
Class RetrieveTxnResponse

java.lang.Object
  extended by net.handle.hdllib.AbstractMessage
      extended by net.handle.hdllib.AbstractResponse
          extended by net.handle.hdllib.RetrieveTxnResponse
All Implemented Interfaces:
java.lang.Cloneable

public class RetrieveTxnResponse
extends AbstractResponse

Response used to forward any new transactions to a replicated site/server. This response is used for server<->server (or replicator<->server) communication.


Field Summary
static int NEED_TO_REDUMP
           
 RetrieveTxnRequest req
           
static int SENDING_TRANSACTIONS
           
 TransactionQueueInterface txnQueue
           
 
Fields inherited from class net.handle.hdllib.AbstractResponse
secureStream, socket, stream, streaming
 
Fields inherited from class net.handle.hdllib.AbstractMessage
authoritative, cacheCertify, certify, continuous, doNotRefer, encodedMessage, encrypt, expiration, ignoreRestrictedValues, keepAlive, majorProtocolVersion, messageBody, minorProtocolVersion, mintNewSuffix, OC_ADD_VALUE, OC_BACKUP_SERVER, OC_CREATE_HANDLE, OC_DELETE_HANDLE, OC_DUMP_HANDLES, OC_GET_NEXT_TXN_ID, OC_GET_SITE_INFO, OC_HOME_NA, OC_LIST_HANDLES, OC_LIST_HOMED_NAS, OC_MODIFY_VALUE, OC_REMOVE_VALUE, OC_RESERVED, OC_RESOLUTION, OC_RESPONSE_TO_CHALLENGE, OC_RETRIEVE_TXN_LOG, OC_SESSION_EXCHANGEKEY, OC_SESSION_SETUP, OC_SESSION_TERMINATE, OC_UNHOME_NA, OC_VERIFY_CHALLENGE, opCode, overwriteWhenExists, RC_AUTHEN_ERROR, RC_AUTHEN_TIMEOUT, RC_AUTHENTICATION_FAILED, RC_AUTHENTICATION_NEEDED, RC_ERROR, RC_HANDLE_ALREADY_EXISTS, RC_HANDLE_NOT_FOUND, RC_INSUFFICIENT_PERMISSIONS, RC_INVALID_ADMIN, RC_INVALID_CREDENTIAL, RC_INVALID_HANDLE, RC_INVALID_SESSION_KEY, RC_INVALID_SESSIONSETUP_REQUEST, RC_INVALID_VALUE, RC_NEED_RSAKEY_FOR_SESSIONEXCHANGE, RC_OPERATION_NOT_SUPPORTED, RC_OUT_OF_DATE_SITE_INFO, RC_PREFIX_REFERRAL, RC_PROTOCOL_ERROR, RC_RECURSION_COUNT_TOO_HIGH, RC_RESERVED, RC_SERVER_BACKUP, RC_SERVER_NOT_RESP, RC_SERVER_TOO_BUSY, RC_SERVICE_REFERRAL, RC_SESSION_FAILED, RC_SESSION_MESSAGE_REJECTED, RC_SESSION_TIMEOUT, RC_SUCCESS, RC_VALUE_ALREADY_EXISTS, RC_VALUES_NOT_FOUND, rdHashType, recursionCount, recursive, requestDigest, requestId, responseCode, returnRequestDigest, sessionCounter, sessionId, signature, signerHdl, signerHdlIdx, siteInfoSerial, suggestMajorProtocolVersion, suggestMinorProtocolVersion
 
Constructor Summary
RetrieveTxnResponse()
          Constructor for the client side.
RetrieveTxnResponse(TransactionQueueInterface txnQueue, long latestCommittedTxnId, RetrieveTxnRequest req, HandleStorage storage)
          Constructor for the server side.
RetrieveTxnResponse(TransactionQueuesInterface allOtherTransactionQueues, java.lang.String ownReplicationServerName, long latestCommittedTxnId, ReplicationStateInfo serversReplicationSourceSites, RetrieveTxnRequest req, HandleStorage storage)
          Other constructor for the server side.
 
Method Summary
 int processStreamedPart(TransactionCallback callback, java.security.PublicKey sourceKey)
          Process the incoming stream and call the given callback for every transaction that is retrieved.
 void streamResponse(SignedOutputStream sout)
          Write the response to the specified output stream.
 
Methods inherited from class net.handle.hdllib.AbstractResponse
getContinuedResponse, takeDigestOfRequest
 
Methods inherited from class net.handle.hdllib.AbstractMessage
clearBuffers, clone, getEncodedMessage, getEncodedMessageBody, getResponseCodeMessage, hasEqualOrGreaterVersion, hasEqualOrGreaterVersion, setSupportedProtocolVersion, setSupportedProtocolVersion, setSupportedProtocolVersion, shouldEncrypt, signatureIsMac, signMessage, signMessage, takeValuesFrom, toString, verifyMessage, verifyMessage
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NEED_TO_REDUMP

public static final int NEED_TO_REDUMP
See Also:
Constant Field Values

SENDING_TRANSACTIONS

public static final int SENDING_TRANSACTIONS
See Also:
Constant Field Values

req

public RetrieveTxnRequest req

txnQueue

public TransactionQueueInterface txnQueue
Constructor Detail

RetrieveTxnResponse

public RetrieveTxnResponse()
Constructor for the client side.


RetrieveTxnResponse

public RetrieveTxnResponse(TransactionQueueInterface txnQueue,
                           long latestCommittedTxnId,
                           RetrieveTxnRequest req,
                           HandleStorage storage)
                    throws HandleException
Constructor for the server side.

Throws:
HandleException

RetrieveTxnResponse

public RetrieveTxnResponse(TransactionQueuesInterface allOtherTransactionQueues,
                           java.lang.String ownReplicationServerName,
                           long latestCommittedTxnId,
                           ReplicationStateInfo serversReplicationSourceSites,
                           RetrieveTxnRequest req,
                           HandleStorage storage)
                    throws HandleException
Other constructor for the server side.

Throws:
HandleException
Method Detail

processStreamedPart

public int processStreamedPart(TransactionCallback callback,
                               java.security.PublicKey sourceKey)
                        throws HandleException
Process the incoming stream and call the given callback for every transaction that is retrieved. The status codes that this function can return include SENDING_TRANSACTIONS, or NEED_TO_REDUMP. If NEED_TO_REDUMP is returned, all of the handles should be requested from all of the servers in the primary site.

Throws:
HandleException

streamResponse

public void streamResponse(SignedOutputStream sout)
                    throws HandleException
Write the response to the specified output stream. This will send all of the transactions that hash to the requestor beginning with the specified transaction ID. This method is typically called on the server side.

Overrides:
streamResponse in class AbstractResponse
Throws:
HandleException