Add retry and timeout options to DRP_Endpoint.SendCmd. Now that DRP_CmdError is used as a standard error class, return codes can be evaluated to determine whether or not a retry should be attempted.
A retry can be initiated by any of these conditions:
- Timeout expiring (execution of ServiceCmd starts timer)
- Error Codes: 408, 500, 503, 504, 507
Error codes other than those listed should result in a normal response to the client. If the retry threshold is reached, the last error code will be returned to the caller.
Regarding errors kicked back locally:
- An RPC call timeout should result in a 408.
- An error sending the command to the endpoint (missing, etc) should result in a 500.
Decisions to make:
- Should the timeout parameter be passed on to downstream calls?
- Should the timeout parameter be added as a new attribute or as part of DRP_Cmd.params?
Add retry and timeout options to DRP_Endpoint.SendCmd. Now that DRP_CmdError is used as a standard error class, return codes can be evaluated to determine whether or not a retry should be attempted.
A retry can be initiated by any of these conditions:
Error codes other than those listed should result in a normal response to the client. If the retry threshold is reached, the last error code will be returned to the caller.
Regarding errors kicked back locally:
Decisions to make: