A request context that carries request-scoped information like deadlines and trace information.
It is sent from client to server and is used by the server to enforce response deadlines.
The context should not be stored directly in a server implementation, because the context will
be different for each request in scope.
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
Uniquely identifies requests originating from the same source.
When a service handles a request by making requests itself, those requests should
include the same trace_id as that included on the original request. This way,
users can trace related actions across a distributed system.