mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-29 17:51:35 +00:00
Simplify handling of upgrade information. (#761)
This commit is contained in:
@ -95,27 +95,21 @@ fn select_proto_basic() {
|
||||
.map(|s| s.0.unwrap())
|
||||
.map_err(|(e, _)| e.into())
|
||||
.and_then(move |connec| {
|
||||
let protos = vec![
|
||||
(Bytes::from("/proto1"), <Bytes as PartialEq>::eq, 0),
|
||||
(Bytes::from("/proto2"), <Bytes as PartialEq>::eq, 1),
|
||||
];
|
||||
let protos = vec![b"/proto1", b"/proto2"];
|
||||
listener_select_proto(connec, VecRefIntoIter(protos)).map(|r| r.0)
|
||||
});
|
||||
|
||||
let client = TcpStream::connect(&listener_addr)
|
||||
.from_err()
|
||||
.and_then(move |connec| {
|
||||
let protos = vec![
|
||||
(Bytes::from("/proto3"), <Bytes as PartialEq>::eq, 2),
|
||||
(Bytes::from("/proto2"), <Bytes as PartialEq>::eq, 3),
|
||||
].into_iter();
|
||||
let protos = vec![b"/proto3", b"/proto2"];
|
||||
dialer_select_proto(connec, protos).map(|r| r.0)
|
||||
});
|
||||
let mut rt = Runtime::new().unwrap();
|
||||
let (dialer_chosen, listener_chosen) =
|
||||
rt.block_on(client.join(server)).unwrap();
|
||||
assert_eq!(dialer_chosen, 3);
|
||||
assert_eq!(listener_chosen, 1);
|
||||
assert_eq!(dialer_chosen, b"/proto2");
|
||||
assert_eq!(listener_chosen, b"/proto2");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -129,20 +123,14 @@ fn no_protocol_found() {
|
||||
.map(|s| s.0.unwrap())
|
||||
.map_err(|(e, _)| e.into())
|
||||
.and_then(move |connec| {
|
||||
let protos = vec![
|
||||
(Bytes::from("/proto1"), <Bytes as PartialEq>::eq, 1),
|
||||
(Bytes::from("/proto2"), <Bytes as PartialEq>::eq, 2),
|
||||
];
|
||||
let protos = vec![b"/proto1", b"/proto2"];
|
||||
listener_select_proto(connec, VecRefIntoIter(protos)).map(|r| r.0)
|
||||
});
|
||||
|
||||
let client = TcpStream::connect(&listener_addr)
|
||||
.from_err()
|
||||
.and_then(move |connec| {
|
||||
let protos = vec![
|
||||
(Bytes::from("/proto3"), <Bytes as PartialEq>::eq, 3),
|
||||
(Bytes::from("/proto4"), <Bytes as PartialEq>::eq, 4),
|
||||
].into_iter();
|
||||
let protos = vec![b"/proto3", b"/proto4"];
|
||||
dialer_select_proto(connec, protos).map(|r| r.0)
|
||||
});
|
||||
let mut rt = Runtime::new().unwrap();
|
||||
@ -163,28 +151,22 @@ fn select_proto_parallel() {
|
||||
.map(|s| s.0.unwrap())
|
||||
.map_err(|(e, _)| e.into())
|
||||
.and_then(move |connec| {
|
||||
let protos = vec![
|
||||
(Bytes::from("/proto1"), <Bytes as PartialEq>::eq, 0),
|
||||
(Bytes::from("/proto2"), <Bytes as PartialEq>::eq, 1),
|
||||
];
|
||||
let protos = vec![b"/proto1", b"/proto2"];
|
||||
listener_select_proto(connec, VecRefIntoIter(protos)).map(|r| r.0)
|
||||
});
|
||||
|
||||
let client = TcpStream::connect(&listener_addr)
|
||||
.from_err()
|
||||
.and_then(move |connec| {
|
||||
let protos = vec![
|
||||
(Bytes::from("/proto3"), <Bytes as PartialEq>::eq, 2),
|
||||
(Bytes::from("/proto2"), <Bytes as PartialEq>::eq, 3),
|
||||
].into_iter();
|
||||
dialer_select_proto_parallel(connec, protos).map(|r| r.0)
|
||||
let protos = vec![b"/proto3", b"/proto2"];
|
||||
dialer_select_proto_parallel(connec, protos.into_iter()).map(|r| r.0)
|
||||
});
|
||||
|
||||
let mut rt = Runtime::new().unwrap();
|
||||
let (dialer_chosen, listener_chosen) =
|
||||
rt.block_on(client.join(server)).unwrap();
|
||||
assert_eq!(dialer_chosen, 3);
|
||||
assert_eq!(listener_chosen, 1);
|
||||
assert_eq!(dialer_chosen, b"/proto2");
|
||||
assert_eq!(listener_chosen, b"/proto2");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -198,23 +180,20 @@ fn select_proto_serial() {
|
||||
.map(|s| s.0.unwrap())
|
||||
.map_err(|(e, _)| e.into())
|
||||
.and_then(move |connec| {
|
||||
let protos = vec![
|
||||
(Bytes::from("/proto1"), <Bytes as PartialEq>::eq, 0),
|
||||
(Bytes::from("/proto2"), <Bytes as PartialEq>::eq, 1),
|
||||
];
|
||||
let protos = vec![b"/proto1", b"/proto2"];
|
||||
listener_select_proto(connec, VecRefIntoIter(protos)).map(|r| r.0)
|
||||
});
|
||||
|
||||
let client = TcpStream::connect(&listener_addr)
|
||||
.from_err()
|
||||
.and_then(move |connec| {
|
||||
let protos = vec![(Bytes::from("/proto3"), 2), (Bytes::from("/proto2"), 3)].into_iter();
|
||||
dialer_select_proto_serial(connec, protos).map(|r| r.0)
|
||||
let protos = vec![b"/proto3", b"/proto2"];
|
||||
dialer_select_proto_serial(connec, protos.into_iter()).map(|r| r.0)
|
||||
});
|
||||
|
||||
let mut rt = Runtime::new().unwrap();
|
||||
let (dialer_chosen, listener_chosen) =
|
||||
rt.block_on(client.join(server)).unwrap();
|
||||
assert_eq!(dialer_chosen, 3);
|
||||
assert_eq!(listener_chosen, 1);
|
||||
assert_eq!(dialer_chosen, b"/proto2");
|
||||
assert_eq!(listener_chosen, b"/proto2");
|
||||
}
|
||||
|
Reference in New Issue
Block a user