Skip to content

Commit befa40e

Browse files
committed
simplification
1 parent 2c37b48 commit befa40e

File tree

20 files changed

+80
-144
lines changed

20 files changed

+80
-144
lines changed

examples/example/src/io_systemd_network.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#![allow(non_camel_case_types)]
33
#![allow(non_snake_case)]
44
use failure::{Backtrace, Context, Fail};
5+
use serde_derive::{Deserialize, Serialize};
56
use serde_json;
67
use std::io::BufRead;
78
use std::sync::{Arc, RwLock};

examples/example/src/main.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,13 @@
1-
extern crate failure;
2-
extern crate failure_derive;
3-
extern crate getopts;
4-
#[macro_use]
5-
extern crate serde_derive;
6-
extern crate serde_json;
7-
extern crate varlink;
8-
91
use std::env;
102
use std::process::exit;
113
use std::sync::{Arc, RwLock};
12-
use varlink::{Connection, OrgVarlinkServiceInterface, VarlinkService};
134

14-
mod io_systemd_network;
5+
use varlink::{Connection, OrgVarlinkServiceInterface, VarlinkService};
156

167
use crate::io_systemd_network::VarlinkClientInterface;
178

9+
mod io_systemd_network;
10+
1811
#[cfg(test)]
1912
mod test;
2013

examples/example/src/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use failure::Fail;
21
use crate::io_systemd_network::Result;
2+
use failure::Fail;
33
use std::io;
44
use std::{thread, time};
55
use varlink::Connection;

examples/more/src/main.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
1-
extern crate failure;
2-
extern crate failure_derive;
3-
extern crate getopts;
4-
#[macro_use]
5-
extern crate serde_derive;
6-
extern crate serde_json;
7-
extern crate varlink;
8-
9-
use crate::org_example_more::*;
101
use std::env;
112
use std::process::exit;
123
use std::sync::{Arc, RwLock};
134
use std::{thread, time};
5+
146
use varlink::{Connection, VarlinkService};
157

8+
use crate::org_example_more::*;
9+
1610
// Dynamically build the varlink rust code.
1711
mod org_example_more;
1812

examples/more/src/org_example_more.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#![allow(non_camel_case_types)]
33
#![allow(non_snake_case)]
44
use failure::{Backtrace, Context, Fail};
5+
use serde_derive::{Deserialize, Serialize};
56
use serde_json;
67
use std::io::BufRead;
78
use std::sync::{Arc, RwLock};

examples/more/src/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
use crate::Result;
12
use std::io;
23
use std::{thread, time};
34
use varlink::Connection;
4-
use crate::Result;
55

66
fn run_self_test(address: String) -> Result<()> {
77
let client_address = address.clone();

examples/ping/src/main.rs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,12 @@
1-
extern crate failure;
2-
extern crate failure_derive;
3-
extern crate getopts;
4-
extern crate libc;
5-
#[macro_use]
6-
extern crate serde_derive;
7-
extern crate serde_json;
8-
extern crate varlink;
9-
10-
use crate::org_example_ping::*;
111
use std::env;
122
use std::io::{BufRead, Read, Write};
133
use std::process::exit;
144
use std::sync::{Arc, RwLock};
5+
156
use varlink::{Call, Connection, VarlinkService};
167

8+
use crate::org_example_ping::*;
9+
1710
// Dynamically build the varlink rust code.
1811
mod org_example_ping;
1912

@@ -159,11 +152,13 @@ impl org_example_ping::VarlinkInterface for MyOrgExamplePing {
159152

160153
#[cfg(unix)]
161154
mod multiplex {
162-
use failure::Fail;
163155
use std::collections::HashMap;
164156
use std::io::{self, BufRead, BufReader, Error, Read, Write};
165157
use std::sync::{Arc, RwLock};
166158
use std::thread;
159+
160+
use failure::Fail;
161+
167162
use varlink::{ConnectionHandler, Listener, ServerStream};
168163

169164
struct FdTracker {

examples/ping/src/org_example_ping.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#![allow(non_camel_case_types)]
33
#![allow(non_snake_case)]
44
use failure::{Backtrace, Context, Fail};
5+
use serde_derive::{Deserialize, Serialize};
56
use serde_json;
67
use std::io::BufRead;
78
use std::sync::{Arc, RwLock};

examples/ping/src/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
use crate::Result;
12
use std::io::{self, BufRead};
23
use std::{thread, time};
34
use varlink::Connection;
4-
use crate::Result;
55

66
fn run_self_test(address: String, multiplex: bool) -> Result<()> {
77
let server_address = address.clone();

varlink-certification/src/main.rs

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,15 @@
1-
#[cfg(test)]
2-
extern crate escargot;
3-
extern crate failure;
4-
extern crate failure_derive;
5-
extern crate getopts;
6-
#[macro_use]
7-
extern crate serde_derive;
8-
extern crate serde_json;
9-
extern crate varlink;
10-
11-
use crate::org_varlink_certification::*;
121
use std::collections::{hash_map::DefaultHasher, VecDeque};
132
use std::env;
143
use std::hash::{Hash, Hasher};
154
use std::io;
165
use std::process::exit;
176
use std::sync::{Arc, RwLock};
187
use std::time::Instant;
8+
199
use varlink::{Connection, StringHashMap, StringHashSet, VarlinkService};
2010

11+
use crate::org_varlink_certification::*;
12+
2113
mod org_varlink_certification;
2214
#[cfg(test)]
2315
mod test; // Main

varlink-certification/src/org_varlink_certification.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#![allow(non_camel_case_types)]
33
#![allow(non_snake_case)]
44
use failure::{Backtrace, Context, Fail};
5+
use serde_derive::{Deserialize, Serialize};
56
use serde_json;
67
use std::io::BufRead;
78
use std::sync::{Arc, RwLock};

varlink-certification/src/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
use crate::Result;
12
use std::io;
23
use std::{thread, time};
34
use varlink::Connection;
4-
use crate::Result;
55

66
fn run_self_test(address: String) -> Result<()> {
77
let client_address = address.clone();

varlink-cli/src/main.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,3 @@
1-
extern crate clap;
2-
extern crate failure;
3-
extern crate failure_derive;
4-
extern crate colored_json;
5-
#[cfg(test)]
6-
extern crate escargot;
7-
extern crate serde_json;
8-
extern crate varlink;
9-
extern crate varlink_parser;
10-
extern crate varlink_stdinterfaces;
11-
121
use clap::{App, Arg, SubCommand};
132
use colored_json::{ColorMode, ColoredFormatter, Colour, Output, PrettyFormatter, Style, Styler};
143
use crate::error::{ErrorKind, Result};

varlink/src/lib.rs

Lines changed: 47 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -224,34 +224,6 @@ So, the reply to the ```Ping()``` method in our example is in a struct called ``
224224
html_favicon_url = "https://varlink.org/images/varlink-small.png"
225225
)]
226226

227-
extern crate bytes;
228-
extern crate failure;
229-
extern crate failure_derive;
230-
extern crate itertools;
231-
#[cfg(unix)]
232-
extern crate libc;
233-
extern crate serde;
234-
#[macro_use]
235-
extern crate serde_derive;
236-
#[macro_use]
237-
extern crate serde_json;
238-
extern crate tempfile;
239-
#[cfg(windows)]
240-
extern crate uds_windows;
241-
#[cfg(unix)]
242-
extern crate unix_socket;
243-
#[cfg(windows)]
244-
extern crate winapi;
245-
246-
pub use crate::client::VarlinkStream;
247-
use crate::client::{varlink_bridge, varlink_exec};
248-
pub use crate::error::{Error, ErrorKind, Result};
249-
use failure::ResultExt;
250-
use serde::de::{self, DeserializeOwned};
251-
use serde::ser::{Serialize, SerializeMap, Serializer};
252-
use serde_json::Value;
253-
pub use crate::server::Stream as ServerStream;
254-
pub use crate::server::{listen, Listener};
255227
use std::borrow::Cow;
256228
use std::collections::{HashMap, HashSet};
257229
use std::convert::From;
@@ -260,8 +232,20 @@ use std::marker::PhantomData;
260232
use std::ops::{Deref, DerefMut};
261233
use std::process::Child;
262234
use std::sync::{Arc, RwLock};
235+
236+
use failure::ResultExt;
237+
use serde::de::{self, DeserializeOwned};
238+
use serde::ser::{Serialize, SerializeMap, Serializer};
239+
use serde_derive::{Deserialize, Serialize};
240+
use serde_json::{Value, json};
263241
use tempfile::TempDir;
264242

243+
pub use crate::client::VarlinkStream;
244+
use crate::client::{varlink_bridge, varlink_exec};
245+
pub use crate::error::{Error, ErrorKind, Result};
246+
pub use crate::server::Stream as ServerStream;
247+
pub use crate::server::{listen, Listener};
248+
265249
mod client;
266250

267251
mod error;
@@ -1422,53 +1406,53 @@ impl ConnectionHandler for VarlinkService {
14221406
&self,
14231407
bufreader: &mut BufRead,
14241408
writer: &mut Write,
1425-
upgraded_iface: Option<String>,
1409+
upgraded_last_interface: Option<String>,
14261410
) -> Result<(Vec<u8>, Option<String>)> {
1427-
let mut upgraded_iface = upgraded_iface.clone();
1411+
let mut upgraded_iface = upgraded_last_interface.clone();
14281412
loop {
14291413
if let Some(iface) = upgraded_iface {
14301414
let mut call = Call::new_upgraded(writer);
14311415
let unread = self.call_upgraded(&iface, &mut call, bufreader)?;
14321416
return Ok((unread, Some(iface)));
1433-
} else {
1434-
let mut buf = Vec::new();
1435-
let len = bufreader.read_until(b'\0', &mut buf)?;
1417+
}
14361418

1437-
if len == 0 {
1438-
// EOF
1439-
return Ok((buf, None));
1440-
}
1419+
let mut buf = Vec::new();
1420+
let len = bufreader.read_until(b'\0', &mut buf)?;
14411421

1442-
if buf.get(len - 1).unwrap_or(&b'x') != &b'\0' {
1443-
// Incomplete message
1444-
return Ok((buf, None));
1445-
}
1422+
if len == 0 {
1423+
// EOF
1424+
return Ok((buf, None));
1425+
}
14461426

1447-
// pop the last zero byte
1448-
buf.pop();
1449-
let req: Request = serde_json::from_slice(&buf).context(ErrorKind::SerdeJsonDe(
1450-
String::from_utf8_lossy(&buf).to_string(),
1451-
))?;
1452-
1453-
let n: usize = match req.method.rfind('.') {
1454-
None => {
1455-
let method: String = String::from(req.method.as_ref());
1456-
let mut call = Call::new(writer, &req);
1457-
call.reply_interface_not_found(Some(method))?;
1458-
return Ok((Vec::new(), None));
1459-
}
1460-
Some(x) => x,
1461-
};
1427+
if buf.get(len - 1).unwrap_or(&b'x') != &b'\0' {
1428+
// Incomplete message
1429+
return Ok((buf, None));
1430+
}
1431+
1432+
// pop the last zero byte
1433+
buf.pop();
1434+
let req: Request = serde_json::from_slice(&buf).context(ErrorKind::SerdeJsonDe(
1435+
String::from_utf8_lossy(&buf).to_string(),
1436+
))?;
1437+
1438+
let n: usize = match req.method.rfind('.') {
1439+
None => {
1440+
let method: String = String::from(req.method.as_ref());
1441+
let mut call = Call::new(writer, &req);
1442+
call.reply_interface_not_found(Some(method))?;
1443+
return Ok((Vec::new(), None));
1444+
}
1445+
Some(x) => x,
1446+
};
14621447

1463-
let iface = String::from(&req.method[..n]);
1448+
let iface = String::from(&req.method[..n]);
14641449

1465-
let mut call = Call::new(writer, &req);
1466-
self.call(&iface, &mut call)?;
1450+
let mut call = Call::new(writer, &req);
1451+
self.call(&iface, &mut call)?;
14671452

1468-
if call.upgraded {
1469-
upgraded_iface = Some(iface);
1470-
break;
1471-
}
1453+
if call.upgraded {
1454+
upgraded_iface = Some(iface);
1455+
break;
14721456
}
14731457
}
14741458
#[cfg(any(feature = "bufreader_buffer", feature = "nightly"))]

varlink/src/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
//! Handle network connections for a varlink service
22
#![allow(dead_code)]
33

4-
use failure::Fail;
54
use crate::{ErrorKind, Result};
5+
use failure::Fail;
66
//#![feature(getpid)]
77
//use std::process;
88
use std::io::{BufRead, BufReader, Read, Write};

varlink/src/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
use crate::*;
12
use serde_json::{from_slice, from_value};
23
use std::{thread, time};
3-
use crate::*;
44

55
#[test]
66
fn test_listen() -> Result<()> {

varlink_generator/src/lib.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,7 @@
55
html_favicon_url = "https://varlink.org/images/varlink-small.png"
66
)]
77

8-
#[macro_use]
9-
extern crate quote;
10-
extern crate failure;
11-
extern crate failure_derive;
12-
extern crate proc_macro2;
13-
extern crate varlink_parser;
14-
8+
use quote::quote;
159
use failure::{Backtrace, Context, Fail};
1610
use proc_macro2::{Ident, Span, TokenStream};
1711
use std::borrow::Cow;
@@ -370,6 +364,7 @@ fn varlink_to_rust(
370364
}
371365

372366
ts.extend(quote!(
367+
use serde_derive::{{Deserialize, Serialize}};
373368
use failure::{{Backtrace, Context, Fail}};
374369
use serde_json;
375370
use std::io::BufRead;

varlink_parser/src/lib.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,6 @@
4545
html_favicon_url = "https://varlink.org/images/varlink-small.png"
4646
)]
4747

48-
extern crate ansi_term;
49-
extern crate bytes;
50-
extern crate failure;
51-
extern crate failure_derive;
52-
extern crate itertools;
53-
5448
use self::varlink_grammar::VInterface;
5549
use ansi_term::Colour;
5650
use failure::{Backtrace, Context, Fail, ResultExt};

0 commit comments

Comments
 (0)