Skip to main content

Module internals

Module internals 

Source
Expand description

The internal implementation details of OpenDAL.

This guide explains the extension boundaries used to implement OpenDAL storage services and layers. Application code should use the public Operator API; the raw APIs described here can change between minor releases.

OpenDAL keeps service implementations typed until it composes them into an operator:

Builder -> Service -> ServiceDyn -> Servicer -> Layer stack -> Operator
             ^                          |
             +------ type erasure ------+
  • A Service implements storage operations and reports the capabilities it provides.
  • ServiceDyn is the object-safe boundary that erases a typed service and its operation bodies.
  • A Servicer is the shared, type-erased service handle stored by operators and layers.
  • A Layer wraps the service stack, the operation context, or both.

Continue with implementing a service or implementing a layer.

Modulesยง

accessor
Implementing a service.
layer
Implementing a layer.