in dubbo/src/protocol/mod.rs [54:87]
fn get_url(&self) -> Url;
fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>;
fn call(&mut self, req: ReqBody) -> Self::Future;
}
pub type BoxExporter = Box<dyn Exporter + Send + Sync>;
pub type BoxInvoker = Box<
dyn Invoker<
http::Request<SdkBody>,
Response = http::Response<crate::BoxBody>,
Error = crate::Error,
Future = crate::BoxFuture<http::Response<crate::BoxBody>, crate::Error>,
> + Send
+ Sync,
>;
dyn_clone::clone_trait_object!(
Invoker<
http::Request<SdkBody>,
Response = http::Response<crate::BoxBody>,
Error = crate::Error,
Future = crate::BoxFuture<http::Response<crate::BoxBody>, crate::Error>,
>
);
pub struct WrapperInvoker<T>(T);
impl<T, ReqBody> Service<http::Request<ReqBody>> for WrapperInvoker<T>
where
T: Invoker<http::Request<ReqBody>, Response = http::Response<crate::BoxBody>>,
T::Error: Into<crate::Error>,
{