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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#[macro_use]
extern crate log;
#[macro_use]
extern crate futures;
extern crate base64;
extern crate bytes;
extern crate futures_cpupool;
extern crate tls_api;
extern crate tls_api_stub;
extern crate tokio_core;
extern crate tokio_tls_api;

// renamed to avoid name conflict with local protobuf library
extern crate protobuf as protobuf_lib;

extern crate httpbis;

mod futures_misc;
mod misc;

mod client;
mod client_stub;
mod server;
mod server_method;

mod assert_types;

mod chars;
mod grpc;
mod grpc_frame;
mod grpc_http_to_response;
mod req;
mod resp;
mod result;
mod stream_item;

mod error;
mod futures_grpc;
mod iter;
mod marshall;
mod metadata;
mod method;

pub mod protobuf;
pub mod rt;

pub mod for_test;

pub use error::Error;
pub use error::GrpcMessageError;
pub use grpc::GrpcStatus;
pub use result::Result;

pub use stream_item::ItemOrMetadata;

pub use client::Client;
pub use client::ClientConf;

pub use client_stub::ClientStub;
pub use client_stub::ClientStubExt;

pub use server::Server;
pub use server::ServerBuilder;
pub use server::ServerConf;

pub use resp::SingleResponse;
pub use resp::StreamingResponse;

pub use req::RequestOptions;
pub use req::StreamingRequest;

pub use futures_grpc::GrpcFuture;
pub use futures_grpc::GrpcStream;

pub use metadata::Metadata;
pub use metadata::MetadataKey;