{
requestEndTime = Time.earliest(Time.corbaFuture (requestTimeout),
requestEndTime);
if (Time.hasPassed(requestEndTime))
{
throw new TIMEOUT("Request End Time exceeded prior to invocation",
0, CompletionStatus.COMPLETED_NO);
}
}
UtcT replyEndTime = getReplyEndTime();
long roundtripTimeout = getRelativeRoundtripTimeout();
if ((roundtripTimeout != 0) || (replyEndTime != null))
{
replyEndTime = Time.earliest(Time.corbaFuture (roundtripTimeout),
replyEndTime);
if (Time.hasPassed(replyEndTime))
{
throw new TIMEOUT("Reply End Time exceeded prior to invocation",
0, CompletionStatus.COMPLETED_NO);
}
}
synchronized ( bind_sync )