apache_dubbo/protocol/grpc/
mod.rs1pub mod grpc_exporter;
19pub mod grpc_invoker;
20pub mod grpc_protocol;
21pub mod grpc_server;
22
23use lazy_static::lazy_static;
24use std::collections::HashMap;
25use std::sync::RwLock;
26
27use crate::protocol::DubboGrpcService;
28use crate::utils::boxed_clone::BoxCloneService;
29use grpc_invoker::GrpcInvoker;
30
31pub type GrpcBoxCloneService = BoxCloneService<
32 http::Request<hyper::Body>,
33 http::Response<tonic::body::BoxBody>,
34 std::convert::Infallible,
35>;
36
37pub type DubboGrpcBox = Box<dyn DubboGrpcService<GrpcInvoker> + Send + Sync + 'static>;
38
39lazy_static! {
40 pub static ref DUBBO_GRPC_SERVICES: RwLock<HashMap<String, Box<dyn DubboGrpcService<GrpcInvoker> + Send + Sync + 'static>>> =
41 RwLock::new(HashMap::new());
42 pub static ref GRPC_SERVICES: RwLock<HashMap<String, GrpcBoxCloneService>> =
43 RwLock::new(HashMap::new());
44}