1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4};
use chrono::{Duration, UTC, DateTime};
use bt::{self, NodeId};
use net::IpAddr;
pub fn travel_into_future(offset: Duration) -> DateTime<UTC> {
UTC::now().checked_add(offset).unwrap()
}
pub fn travel_into_past(offset: Duration) -> DateTime<UTC> {
UTC::now().checked_sub(offset).unwrap()
}
pub fn dummy_ipv4_addr() -> IpAddr {
let v4_addr = Ipv4Addr::new(127, 0, 0, 1);
IpAddr::V4(v4_addr)
}
pub fn dummy_ipv6_addr() -> IpAddr {
let v6_addr = Ipv6Addr::new(127, 0, 0, 1, 0, 0, 0, 0);
IpAddr::V6(v6_addr)
}
pub fn dummy_socket_addr_v4() -> SocketAddr {
let v4_addr = Ipv4Addr::new(127, 0, 0, 1);
let v4_socket = SocketAddrV4::new(v4_addr, 0);
SocketAddr::V4(v4_socket)
}
pub fn dummy_block_socket_addrs(num_addrs: u16) -> Vec<SocketAddr> {
let mut addr_block = Vec::with_capacity(num_addrs as usize);
for port in 0..num_addrs {
let ip = Ipv4Addr::new(127, 0, 0, 1);
let sock_addr = SocketAddrV4::new(ip, port);
addr_block.push(SocketAddr::V4(sock_addr));
}
addr_block
}
pub fn dummy_node_id() -> NodeId {
NodeId::from([0u8; bt::NODE_ID_LEN])
}
pub fn dummy_block_node_ids(num_ids: u8) -> Vec<NodeId> {
let mut id_block = Vec::with_capacity(num_ids as usize);
for repeat in 0..num_ids {
let mut id = [0u8; bt::NODE_ID_LEN];
for byte in id.iter_mut() {
*byte = repeat;
}
id_block.push(id.into())
}
id_block
}