use crate::error::ServiceSdkError;
use crate::types::{ServiceHealthStatus, ServiceInitializeParams, ServiceInitializeResult};
pub trait Service: Send + 'static {
fn on_initialize(
&mut self,
params: ServiceInitializeParams,
) -> impl std::future::Future<Output = Result<ServiceInitializeResult, ServiceSdkError>> + Send;
fn on_health(&self) -> impl std::future::Future<Output = ServiceHealthStatus> + Send;
fn on_shutdown(
&mut self,
) -> impl std::future::Future<Output = Result<(), ServiceSdkError>> + Send;
}