#![allow(clippy::upper_case_acronyms)]
pub use futures::stream::{AbortHandle, AbortRegistration, Abortable, Aborted};
pub mod zchannel;
pub use zchannel::ZClientChannel;
pub mod types;
pub use types::*;
pub mod serialize;
pub mod zrpcresult;
use zrpcresult::ZRPCResult;
pub trait ZServe<Req>: Sized + Clone {
type Resp;
fn instance_uuid(&self) -> uuid::Uuid;
#[allow(clippy::type_complexity)]
fn connect(
&self,
) -> ::core::pin::Pin<
Box<
dyn std::future::Future<
Output = ZRPCResult<(
futures::stream::AbortHandle,
async_std::task::JoinHandle<Result<ZRPCResult<()>, Aborted>>,
)>,
> + '_,
>,
>;
#[allow(clippy::type_complexity)]
fn initialize(
&self,
) -> ::core::pin::Pin<Box<dyn std::future::Future<Output = ZRPCResult<()>> + '_>>;
#[allow(clippy::type_complexity)]
fn register(
&self,
) -> ::core::pin::Pin<Box<dyn std::future::Future<Output = ZRPCResult<()>> + '_>>;
#[allow(clippy::type_complexity)]
fn run(&self) -> ::core::pin::Pin<Box<dyn std::future::Future<Output = ZRPCResult<()>> + '_>>;
#[allow(clippy::type_complexity)]
fn start(
&self,
) -> ::core::pin::Pin<
Box<
dyn std::future::Future<
Output = ZRPCResult<(
futures::stream::AbortHandle,
async_std::task::JoinHandle<Result<ZRPCResult<()>, Aborted>>,
)>,
> + '_,
>,
>;
#[allow(clippy::type_complexity)]
fn serve(
&self,
barrier: async_std::sync::Arc<async_std::sync::Barrier>,
) -> ::core::pin::Pin<Box<dyn std::future::Future<Output = ZRPCResult<()>> + '_>>;
#[allow(clippy::type_complexity)]
fn stop(
&self,
stop: futures::stream::AbortHandle,
) -> ::core::pin::Pin<Box<dyn std::future::Future<Output = ZRPCResult<()>> + '_>>;
#[allow(clippy::type_complexity)]
fn unregister(
&self,
) -> ::core::pin::Pin<Box<dyn std::future::Future<Output = ZRPCResult<()>> + '_>>;
#[allow(clippy::type_complexity)]
fn disconnect(
&self,
stop: futures::stream::AbortHandle,
) -> ::core::pin::Pin<Box<dyn std::future::Future<Output = ZRPCResult<()>> + '_>>;
}