use std::error::Error;
use std::sync::Arc;
use sqlx::Pool;
use sqlx::Postgres;
use net_core_api::api::envelope::envelope::Envelope;
#[async_trait::async_trait]
pub trait NetworkServiceHandler: Send + Sync {
async fn handle(
&self,
connection_pool: Arc<Pool<Postgres>>,
enveloped_request: Envelope
) -> Result<Envelope, Box<dyn Error + Send + Sync>>;
fn get_handler_type(&self) -> String;
}