Expand description
Timeout constants and hierarchies. Timeout constants, organized into nested modules named after the API trait, service, or struct whose timeouts it holds.
const_assert!s are used to enforce our timeout hierarchies; e.g. each
timeout along a request chain must be shorter than the one enclosing it.
Principles for tuning:
- When a timeout increase is needed: prefer to raise the timeout for a specific server or client method that needs it, rather than the global default.
- Be careful when decreasing timeouts baked into enclave programs - if it cannot be overridden via CLI, there is no way to backtrack if the decrease was too aggressive. Wire through a CLI arg before decreasing the timeout.
Modules§
- client
- Defaults for Lexe
RestClients. - server
- Defaults for Lexe API servers.
- user_
node_ provision_ api - Timeouts for
UserNodeProvisionApi(User -> Node). - user_
node_ run_ api - Timeouts for
UserNodeRunApi(User -> Node). - usernode
- Timeouts for
UserNodes. - userrunner
- Timeouts for in-enclave
UserRunner.
Constants§
- TRANSIENT_
ERROR_ TOLERANCE - The minimum tolerance every service should have for transient errors caused by restarts of this service’s dependencies.