DynPlugin

Trait DynPlugin 

Source
pub trait DynPlugin: Send + Sync {
    // Required methods
    fn info(&self) -> &PluginInfo;
    fn state(&self) -> PluginState;
    fn init(&mut self) -> BoxFuture<'_, Result<(), IronpostError>>;
    fn start(&mut self) -> BoxFuture<'_, Result<(), IronpostError>>;
    fn stop(&mut self) -> BoxFuture<'_, Result<(), IronpostError>>;
    fn health_check(&self) -> BoxFuture<'_, HealthStatus>;
}
Expand description

dyn-compatible 플러그인 trait

Plugin trait은 RPITIT를 사용하므로 dyn Plugin이 불가합니다. DynPluginBoxFuture를 반환하여 Vec<Box<dyn DynPlugin>>으로 플러그인을 동적 관리할 수 있게 합니다.

Required Methods§

Source

fn info(&self) -> &PluginInfo

플러그인 메타데이터를 반환합니다.

Source

fn state(&self) -> PluginState

현재 플러그인 상태를 반환합니다.

Source

fn init(&mut self) -> BoxFuture<'_, Result<(), IronpostError>>

플러그인을 초기화합니다.

Source

fn start(&mut self) -> BoxFuture<'_, Result<(), IronpostError>>

플러그인을 시작합니다.

Source

fn stop(&mut self) -> BoxFuture<'_, Result<(), IronpostError>>

플러그인을 정지합니다.

Source

fn health_check(&self) -> BoxFuture<'_, HealthStatus>

플러그인의 건강 상태를 확인합니다.

Implementors§

Source§

impl<T: Plugin> DynPlugin for T

Plugin을 구현한 타입은 자동으로 DynPlugin도 구현됩니다.