Skip to main content

Module timeout

Module timeout 

Source
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.