pub trait Builder: Default {
type Accessor: Accessor;
const SCHEME: Scheme;
// Required methods
fn from_map(map: HashMap<String, String>) -> Self;
fn build(&mut self) -> Result<Self::Accessor>;
}
Expand description
Builder is used to set up a real underlying service, i.e. storage accessor.
One builder is usually used by Operator
during its initialization.
It can be created by accepting several k-v pairs from one HashMap, one iterator and specific environment variables.
By default each builder of underlying service must support deriving from one HashMap. Besides that, according to the implementation, each builder will have its own special methods to control the behavior of initialization of the underlying service. It often provides semantic interface instead of using dynamic k-v strings directly. Because the latter way is obscure and hard to remember how many parameters it will have.
So it is recommended that developer should read related doc of builder carefully when you are working with one service. We also promise that every public API will provide detailed documentation.
It’s recommended to use Operator::new
to avoid use Builder
trait directly.