1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use super::{Context, Result};
use crate::client::tcp::connect_slave as async_connect_slave;
use crate::slave::Slave;
use std::net::SocketAddr;
use tokio_core::reactor::Core;
pub fn connect(socket_addr: SocketAddr) -> Result<Context> {
connect_slave(socket_addr, Slave::tcp_device())
}
pub fn connect_slave(socket_addr: SocketAddr, slave: Slave) -> Result<Context> {
let mut core = Core::new()?;
let handle = core.handle();
let async_ctx = core.run(async_connect_slave(&handle, socket_addr, slave))?;
let sync_ctx = Context { core, async_ctx };
Ok(sync_ctx)
}