jsonrpc_tcp_server/
lib.rs

1//! jsonrpc server over tcp/ip
2//!
3//! ```no_run
4//! use jsonrpc_core::*;
5//! use jsonrpc_tcp_server::ServerBuilder;
6//!
7//! fn main() {
8//!     let mut io = IoHandler::default();
9//!     io.add_sync_method("say_hello", |_params| {
10//!         Ok(Value::String("hello".to_string()))
11//!     });
12//!     let server = ServerBuilder::new(io)
13//!         .start(&"0.0.0.0:0".parse().unwrap())
14//!         .expect("Server must start with no issues.");
15//!
16//!     server.wait();
17//! }
18//! ```
19
20#![deny(missing_docs)]
21
22use jsonrpc_server_utils as server_utils;
23
24pub use jsonrpc_core;
25
26#[macro_use]
27extern crate log;
28
29#[cfg(test)]
30#[macro_use]
31extern crate lazy_static;
32
33mod dispatch;
34mod meta;
35mod server;
36mod service;
37
38#[cfg(test)]
39mod logger;
40#[cfg(test)]
41mod tests;
42
43use jsonrpc_core as jsonrpc;
44
45pub(crate) use crate::jsonrpc::futures;
46
47pub use self::server_utils::{codecs::Separator, tokio};
48pub use crate::dispatch::{Dispatcher, PushMessageError};
49pub use crate::meta::{MetaExtractor, RequestContext};
50pub use crate::server::{Server, ServerBuilder};