diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2017-07-17 10:36:52 +0200 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2017-07-17 10:48:09 +0200 |
| commit | f07f1a0262c908ff83490850b67a167f963efc2d (patch) | |
| tree | 5a5209baefc0b10ba528f254e7ce2456c23f6ac9 /talpid_ipc/src/lib.rs | |
| parent | 6a4202fc8c55752f0fef86c04b628a3f9ada5279 (diff) | |
| download | mullvadvpn-f07f1a0262c908ff83490850b67a167f963efc2d.tar.xz mullvadvpn-f07f1a0262c908ff83490850b67a167f963efc2d.zip | |
Rename all crates from snake_case to kebab-case
Diffstat (limited to 'talpid_ipc/src/lib.rs')
| -rw-r--r-- | talpid_ipc/src/lib.rs | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/talpid_ipc/src/lib.rs b/talpid_ipc/src/lib.rs deleted file mode 100644 index 3ef9bf4733..0000000000 --- a/talpid_ipc/src/lib.rs +++ /dev/null @@ -1,89 +0,0 @@ -#[macro_use] -extern crate error_chain; -#[macro_use] -extern crate log; - -extern crate serde; -#[macro_use] -extern crate serde_json; - -extern crate jsonrpc_core; -extern crate jsonrpc_ws_server; -extern crate ws; -extern crate url; - -use jsonrpc_core::{MetaIoHandler, Metadata}; -use jsonrpc_ws_server::{MetaExtractor, NoopExtractor, Server, ServerBuilder}; - -use std::net::{IpAddr, Ipv4Addr, SocketAddr}; - - -mod client; -pub use client::*; - -/// An Id created by the Ipc server that the client can use to connect to it -pub type IpcServerId = String; - -error_chain!{ - errors { - IpcServerError { - description("Error in IPC server") - } - } -} - - -pub struct IpcServer { - address: String, - server: Server, -} - -impl IpcServer { - pub fn start<M: Metadata>(handler: MetaIoHandler<M>) -> Result<Self> { - Self::start_with_metadata(handler, NoopExtractor) - } - - pub fn start_with_metadata<M, E>(handler: MetaIoHandler<M>, meta_extractor: E) -> Result<Self> - where M: Metadata, - E: MetaExtractor<M> - { - let listen_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 0); - ServerBuilder::new(handler) - .session_meta_extractor(meta_extractor) - .start(&listen_addr) - .map( - |server| { - IpcServer { - address: format!("ws://{}", server.addr()), - server: server, - } - }, - ) - .chain_err(|| ErrorKind::IpcServerError) - } - - /// Returns the localhost address this `IpcServer` is listening on. - pub fn address(&self) -> &str { - &self.address - } - - /// Creates a handle bound to this `IpcServer` that can be used to shut it down. - pub fn close_handle(&self) -> CloseHandle { - CloseHandle(self.server.close_handle()) - } - - /// Consumes the server and waits for it to finish. Get an `CloseHandle` before calling this - /// if you want to be able to shut the server down. - pub fn wait(self) -> Result<()> { - self.server.wait().chain_err(|| ErrorKind::IpcServerError) - } -} - -#[derive(Clone)] -pub struct CloseHandle(jsonrpc_ws_server::CloseHandle); - -impl CloseHandle { - pub fn close(self) { - self.0.close(); - } -} |
