1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! # grpc-quic-server
//!
//! gRPC server over QUIC transport.
//!
//! Provides [`QuicServer`] which accepts QUIC connections, reads raw gRPC bytes
//! from each bi-directional stream, and delegates requests to a tonic [`Router`].
//!
//! ## Usage (Phase 3)
//!
//! ```rust,no_run
//! use grpc_quic_server::QuicServer;
//! use tower::service_fn;
//! use http::{Request, Response};
//!
//! # async fn example() -> Result<(), Box<dyn std::error::Error>> {
//! # let service = service_fn(|_req: Request<tonic::body::BoxBody>| async {
//! # Ok::<_, tonic::Status>(Response::new(tonic::body::empty_body()))
//! # });
//! QuicServer::builder()
//! .build()
//! .serve("127.0.0.1:50051".parse()?, service)
//! .await?;
//! # Ok(())
//! # }
//! ```
//!
//! [`Router`]: tonic::transport::server::Router
pub use ServerError;
pub use ;