Upgrade json-transport to Tokio 0.2

This commit is contained in:
Artem Vorotnikov
2019-08-23 04:15:25 +03:00
committed by Tim
parent 014c209b8e
commit 184ea42033
3 changed files with 122 additions and 71 deletions

View File

@@ -10,7 +10,10 @@ use futures::{
prelude::*,
};
use service::World;
use std::{io, net::SocketAddr};
use std::{
io,
net::{IpAddr, SocketAddr},
};
use tarpc::{
context,
server::{self, Channel, Handler},
@@ -59,11 +62,12 @@ async fn main() -> io::Result<()> {
.parse()
.unwrap_or_else(|e| panic!(r#"--port value "{}" invalid: {}"#, port, e));
let server_addr = ([0, 0, 0, 0], port).into();
let server_addr = (IpAddr::from([0, 0, 0, 0]), port);
// tarpc_json_transport is provided by the associated crate tarpc-json-transport. It makes it easy
// to start up a serde-powered json serialization strategy over TCP.
tarpc_json_transport::listen(&server_addr)?
tarpc_json_transport::listen(&server_addr)
.await?
// Ignore accept errors.
.filter_map(|r| future::ready(r.ok()))
.map(server::BaseChannel::with_defaults)