Completed the Authtoken Validate Service changes.
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
|
||||
//===[ Manifest constants ]================================================
|
||||
|
||||
#define REMOTE_ENDPOINT_SIGNATURE 0x54525653 // SVRT
|
||||
#define REMOTE_ENDPOINT_SIGNATURE 0X50454D52 // RMEP
|
||||
|
||||
//===[ Type definitions ]==================================================
|
||||
|
||||
@@ -75,7 +75,7 @@ RemoteEndPoint::RemoteEndPoint(
|
||||
//
|
||||
// Notes:
|
||||
//
|
||||
// L1
|
||||
// L2
|
||||
//=======================================================================--
|
||||
{
|
||||
DbgTrace(1, "RemoteEndPoint::RemoteEndPoint- Start, Obj = %08X\n", this);
|
||||
@@ -349,6 +349,7 @@ RemoteEndPoint::submitReq(
|
||||
|
||||
// Perform the following in a loop to deal with abnormal connection terminations
|
||||
unsigned long rpcRetryCount = 0;
|
||||
bool okToRetry = true;
|
||||
while (rpcRetryCount < m_maxRpcRetries)
|
||||
{
|
||||
// Get SmartCChannel
|
||||
@@ -372,19 +373,30 @@ RemoteEndPoint::submitReq(
|
||||
{
|
||||
// Request submission over the channel succeeded, now
|
||||
// wait for the completion of the request.
|
||||
clientReq.waitForCompletion(ppServerData,
|
||||
pServerDataLen);
|
||||
if (clientReq.waitForCompletion(ppServerData,
|
||||
pServerDataLen) == 0)
|
||||
{
|
||||
// Now proceed based on the completion status
|
||||
ClientReq::CompletionStatus compStatus = clientReq.completionStatus();
|
||||
if (compStatus == ClientReq::SuccessCompletionStatus)
|
||||
{
|
||||
// Success
|
||||
retStatus = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Received a failure from the server, do not retry.
|
||||
okToRetry = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Error waiting for the completion.
|
||||
okToRetry = false;
|
||||
}
|
||||
|
||||
// Remove the request from the channel
|
||||
pCChannel->removeReq(reqId);
|
||||
|
||||
// Now proceed based on the completion status
|
||||
ClientReq::CompletionStatus compStatus = clientReq.completionStatus();
|
||||
if (compStatus == ClientReq::SuccessCompletionStatus)
|
||||
{
|
||||
// Success
|
||||
retStatus = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -402,8 +414,9 @@ RemoteEndPoint::submitReq(
|
||||
DbgTrace(0, "RemoteEndPoint::submitReq- Channel unavailable\n", 0);
|
||||
}
|
||||
|
||||
// Stop trying if the RPC succeeded
|
||||
if (retStatus == 0)
|
||||
// Stop trying if the RPC succeeded or if it is not ok to retry
|
||||
if (retStatus == 0
|
||||
|| !okToRetry)
|
||||
break;
|
||||
|
||||
// Account for this RPC try
|
||||
|
||||
Reference in New Issue
Block a user