pub(crate) fn start(
section: &OwpSection,
bind: SocketAddr,
schema: Option<&Arc<Schema>>,
validate: ValidateMode,
tls: Option<ServerTls>,
engine: Arc<Engine>,
shutdown: CancellationToken,
) -> Result<JoinHandle<()>, String>Expand description
Spawns OwpAdapter listening on bind and returns a handle to its
run task.
An empty section.schema becomes None, so INIT does not require a
protocol schema string. system_uuid is generated per process, not
read from the config. The compiled UCI schema is a separate object:
it drives JSON ↔ XML conversion and validation, and validate has no
effect without one.
A failure from run is logged and the task still finishes, so one
adapter cannot take the host down.
§Errors
Returns an error if on_panic is not abort or reconnect.