From f319d7ab5278a3cfb43d38875d81c28cc2dce1e1 Mon Sep 17 00:00:00 2001 From: diogo464 Date: Wed, 16 Jul 2025 10:46:41 +0100 Subject: Initial commit - extracted urpc from monorepo --- src/lib.rs | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/lib.rs (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..e65f659 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,52 @@ +#[doc(hidden)] +pub mod internal; + +pub mod channel; +pub mod protocol; +pub mod tcp; +pub mod unix; + +mod client_channel; +mod server; + +pub use client_channel::ClientChannel; +pub use server::Server; +pub use urpc_macro::service; + +use protocol::RpcMessage; + +use std::pin::Pin; +use std::future::Future; + +use bytes::Bytes; +use futures::{Sink, Stream}; + +#[derive(Debug, Default)] +pub struct Context; + +pub trait Service: Send + Sync + 'static { + fn name() -> &'static str + where + Self: Sized; + + fn call( + &self, + method: String, + arguments: Bytes, + ) -> Pin> + Send + '_>>; +} + +pub trait Channel: + Stream> + + Sink + + Send + + Unpin + + 'static +{ +} + +pub trait Listener: Stream> + Send + Unpin + 'static +where + C: Channel, +{ +} -- cgit