Define component interface
Define an interface for components (like postgres) itself to use. Since it's likely there will be more than one component (rspamd
for example), the usual start
+ shutdown
should be present, along with maybe a configure
and reload
methods should be created.
-
Likely start
should return some sort of asynchronous communication-enabling thing -
restart
(+/-hot_restart
or a param that indicates whether it should be hot or not) should also be a thing, along withsupports_hot_restart
since not necessarily everything will support a hot restart)
Also from #6 (closed)
-
get_configuration<C>(&self) -> C
-
create_configuration<C>(content: &str) -> C
-
load_configuration<C>(&self, cfg: C) -> Result<(), ConfigurationLoadError>
Edited by MrMan