1 //! Codegen exports used by `tonic-build`. 2 3 pub use async_trait::async_trait; 4 pub use tokio_stream; 5 6 pub use std::future::Future; 7 pub use std::pin::Pin; 8 pub use std::sync::Arc; 9 pub use std::task::{Context, Poll}; 10 pub use tower_service::Service; 11 pub type StdError = Box<dyn std::error::Error + Send + Sync + 'static>; 12 pub use crate::codec::{CompressionEncoding, EnabledCompressionEncodings}; 13 pub use crate::extensions::GrpcMethod; 14 pub use crate::service::interceptor::InterceptedService; 15 pub use bytes::Bytes; 16 pub use http; 17 pub use http_body::Body; 18 19 pub type BoxFuture<T, E> = self::Pin<Box<dyn self::Future<Output = Result<T, E>> + Send + 'static>>; 20 pub type BoxStream<T> = 21 self::Pin<Box<dyn tokio_stream::Stream<Item = Result<T, crate::Status>> + Send + 'static>>; 22 23 pub use crate::body::empty_body; 24