rubbo-core 0.1.0

Rust implementation of Apache Dubbo 3. High-performance RPC framework with Triple protocol.
Documentation
pub mod error;
pub mod protocol;
pub mod url;
pub mod registry_url;
pub mod rpc;
pub mod context;

pub use error::*;
pub use protocol::kind::ProtocolKind;
pub use protocol::RpcProtocol;
pub use url::{Url, RpcUrl};
pub use registry_url::RegistryUrl;
pub use rpc::*;

pub trait RubboService {
    fn to_invoker(self: Box<Self>, url: Url) -> std::sync::Arc<Box<dyn Invoker>>;
    fn interface_name(&self) -> String;
    fn methods(&self) -> String;
    fn group(&self) -> String;
    fn version(&self) -> String;
}

pub trait RubboReference {
    const SERVICE_KEY: &'static str;
    fn interface_name() -> &'static str;
    fn group() -> &'static str;
    fn version() -> &'static str;
    fn timeout() -> Option<u64>; // Timeout in milliseconds
    fn create_stub(invoker: std::sync::Arc<Box<dyn Invoker>>) -> std::sync::Arc<Self>;
}