Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gh 788 qa amoy #561

Closed
wants to merge 156 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
e403d0a
test for routing_engine failing on wrong country code
czarte May 25, 2024
2023ce4
target_country_opt variable to RouteQueryMessage
czarte May 29, 2024
4585293
adding exit_location to routing engine
czarte Jul 5, 2024
bad2501
exit country added to routing engine, not working
czarte Jul 9, 2024
aee6a1f
implemented undesirability for country_code, find_best_route_segment …
czarte Jul 10, 2024
7828513
add extra processing for compute_undesirability for hostname_opt and …
czarte Jul 11, 2024
f5079c9
formatting
czarte Jul 15, 2024
8573539
test for logging unreachable country_code ExitNode
czarte Jul 15, 2024
b2e2012
added second log assertion to test tracing unreachable ExitNode with …
czarte Jul 15, 2024
ec58336
TODO for #802 issue
czarte Jul 16, 2024
77d9cd9
continue of code review changes
czarte Jul 17, 2024
c974b66
test for panic in handle_retrieve_transactions
czarte Jul 19, 2024
c859541
fixing more comments from review
czarte Jul 23, 2024
3c93749
removing TODO
czarte Jul 23, 2024
0d50bbe
implementing review, added two new tests for ip_country
czarte Jul 24, 2024
15fa3ee
removing unnecesary country_code from node_descriptor
czarte Jul 26, 2024
4c2d57b
added cfg(test) and cfg(not(test)) for static ref COUNTRY_CODE_FINDER…
czarte Jul 26, 2024
75fb708
change country_code member of NodeRecordInner_0v1 to country_code_opt
czarte Jul 26, 2024
78cc0c2
simplifying tests in node_record.rs and neighborhood_database.rs
czarte Jul 26, 2024
fe8a9b4
resolving review comments
czarte Jul 30, 2024
bf10d81
final changes in gossip_acceptor from review
czarte Jul 31, 2024
bec7b8b
continue of implementing review comments
czarte Jul 31, 2024
1a74962
fix test return value
czarte Jul 31, 2024
f750f01
added ip_country to ci/all.sh
czarte Aug 7, 2024
002a311
cherry-pick from GH-784-fix-for-Vojta and implementing iterator for d…
czarte Aug 7, 2024
7cd7c0d
try to create test for fmt
czarte Aug 7, 2024
bc7a6cc
tests for print ip v4 and v6 vec[u8] in country_block_serde.rs
czarte Aug 8, 2024
69f79c5
ci for ip_country + resolved conflicts of clippy
czarte Aug 13, 2024
b0d8958
masq_lib dependencies solved
czarte Aug 14, 2024
f549131
dependency masq_lib for ip_country in node workspace
czarte Aug 14, 2024
ac3f186
remove commented out code + fix condition for non empty bit_queue
czarte Aug 14, 2024
e72ae56
formatting
czarte Aug 14, 2024
f5bb091
5 seconds for wait_for_log in requested_chain_meets_different_db_chai…
czarte Aug 15, 2024
2771e36
fixing impl for AGR in multinode tests
czarte Aug 15, 2024
715587e
formatting
czarte Aug 15, 2024
44db161
fix nonexistent NodeAddr in multinode tests for AGR
czarte Aug 16, 2024
d5307f3
change single match to if
czarte Aug 16, 2024
201cced
try to fix build in actions for MacOS
czarte Aug 19, 2024
e974e67
try to find out disk space on MacOS container in Actions
czarte Aug 19, 2024
f5f4afc
add diagnostics commands on failure
czarte Aug 19, 2024
859452b
check diskspace before ci/all.sh workflow runs
czarte Aug 19, 2024
6627715
diagnose mounted disks
czarte Aug 19, 2024
3ce6ac3
analyze /var/ diskspace
czarte Aug 19, 2024
b350db9
remove advanced diagnosticst for disk space
czarte Aug 20, 2024
8463d3d
switch macos to version 13
czarte Aug 20, 2024
7406b6f
diagnostics for /Users/runner/work/Node/Node/node/target/release
czarte Aug 21, 2024
9dd7982
fasten diagnostics
czarte Aug 21, 2024
e316e6c
fasten diagnostics fix
czarte Aug 21, 2024
c803f56
fasten diagnostics back
czarte Aug 21, 2024
b85253a
test for mac-os build without masq_lib for ip_country
czarte Aug 21, 2024
26c67c4
remove masq_lib from ip_country
czarte Aug 21, 2024
92bcc5b
starting with UI setup for Exit Location
czarte Aug 22, 2024
b9d07b3
GH-784-review-two-state: fixes that could work on Actions, appeasing it
Aug 23, 2024
6b4e775
fixing review
czarte Aug 30, 2024
b7553ad
implementing CountryBlock count in generated rs file, and infrastructure
czarte Aug 30, 2024
68719e3
fixing ip_country tests
czarte Aug 30, 2024
48a3857
fix import of ip_country to multinode_integration_tests
czarte Sep 2, 2024
56d6010
formatting
czarte Sep 2, 2024
5b44e6b
fix the reference for COUNTRY_CODE_FINDER
czarte Sep 2, 2024
a956ff2
merget GH-784-review-two-state into branch
czarte Sep 5, 2024
16f5bfa
exit location for shared_schema, set_configuration_command, configura…
czarte Sep 5, 2024
15b0c9a
tests for persistent_configurator_mock, and valdator ..string_u64_val…
czarte Sep 9, 2024
aa4e579
test for trigger todo for implement validate_parameter_with_separate_…
czarte Sep 10, 2024
719af15
add ip_country dependency to masq_lib, validation for exit-location i…
czarte Sep 10, 2024
b6c0c26
validate pipe separated values with closure from particular validators
czarte Sep 11, 2024
bd61b23
starting work on neighborhood modification
czarte Sep 12, 2024
f035d2d
test for exit location in large patch
czarte Sep 13, 2024
2f518d6
implementing exit_location
czarte Sep 17, 2024
b5a3622
ExitLocation struct and its members to messages.rs, set_exit_location…
czarte Sep 20, 2024
2c3a3dd
implemented country-codes and fallback-routing into MessageBody for N…
czarte Sep 23, 2024
a62fea7
completed test for c
czarte Sep 24, 2024
fdcfcab
implemented handler for exit_location_opt, rename exit_loctation to e…
czarte Sep 29, 2024
85a3835
fmt for HashSet<ExitLocation>, finished the assertions in test exit_l…
czarte Sep 29, 2024
c4890f2
cleanup, test for fallback-routing: false, logger for fallback-routin…
czarte Sep 29, 2024
304363a
change exit_locations_opt from HashSet to HashMap
czarte Sep 30, 2024
acf9999
clearing bootstrapper config
czarte Oct 1, 2024
39aa160
country_undesidability to NodeRecordMetadata
czarte Oct 2, 2024
88306ae
added member for NodeRecordMetadata and processing for country_undesi…
czarte Oct 2, 2024
39b2c5b
added assertion message for assert on db change in actor
czarte Oct 2, 2024
52a659a
refacotring neighborhood_test_utils: extracted make_segmented_ip, and…
czarte Oct 3, 2024
7d65f9b
added unset exit_location logic with test
czarte Oct 3, 2024
6152a9e
change name of test
czarte Oct 3, 2024
5bc34df
merge GH-784 into GH-468
czarte Oct 3, 2024
6578185
fiixing tests for set_exit_location_command, fixing log assertion for…
czarte Oct 4, 2024
fe74815
added assertion on neighborhood to exit_location tests
czarte Oct 7, 2024
e7be714
pull request branch changed to GH-784
czarte Oct 7, 2024
d2adbfe
formatting
czarte Oct 7, 2024
2c09618
fixing comments from review
czarte Oct 7, 2024
867134b
polishing helps
czarte Oct 8, 2024
9a4c1a0
addressing comments from review
czarte Oct 8, 2024
5a234df
polishing helps for exit-location
czarte Oct 9, 2024
9e1c1c7
add use super::*; to tests use
czarte Oct 9, 2024
fff1c3d
add cfg(test) for tests in set_exit_location_command
czarte Oct 9, 2024
3456b2e
fixing clippy complains
czarte Oct 10, 2024
516712a
fix multinode neighborhood constructor
czarte Oct 10, 2024
24ab306
rename set_exit_location_command.rs to exit_location_command.rs
czarte Oct 10, 2024
f14ab6d
add protection for empty Neighborhood DB
czarte Oct 10, 2024
4be9596
change protection for empty Neighborhood
czarte Oct 10, 2024
9a4c687
fixed shared schema, added exit location to --help of masq
czarte Oct 11, 2024
eb3ca81
set version for sccache
czarte Oct 14, 2024
aa01112
add lifetime for daemon_shared_app fn return
czarte Oct 14, 2024
c3e36f2
fixing log assertion in tests, add db to exit location test, fix app …
czarte Oct 14, 2024
129ec37
introduce test utilities
czarte Oct 15, 2024
7174c9f
remove unused import - localhost linux compile and passes all ip_coun…
czarte Oct 16, 2024
e21b545
addressing comments from review
czarte Oct 17, 2024
9208137
addressing comments from review, refactoring Neighborhood for exit-lo…
czarte Oct 21, 2024
0771086
fix tests for separate_u64_values
czarte Oct 22, 2024
60dc65a
add Eq to ExitPreference
czarte Oct 22, 2024
de2a90d
rearranged test_utilities, fix to exit_location_handler and its tests
czarte Oct 22, 2024
6307d39
fixing ByteArrayWriter and Reader for masq
czarte Oct 23, 2024
34ee03b
added more nodes to exit_location test with fallback to test UNREACHA…
czarte Oct 23, 2024
b85eaf5
move test_utilities to dev-dependencies
czarte Oct 24, 2024
56ae969
test_utilities from dev to production dependencies in masq_lib
czarte Oct 24, 2024
9932e02
formatting help
czarte Oct 25, 2024
c628ca8
formatting help
czarte Oct 25, 2024
0da1a22
review 3 - refactoring message handler for exit location, and few min…
czarte Oct 25, 2024
4a53523
country codes for NodeRecords in tests Neighborhood DBs, constants fo…
czarte Oct 27, 2024
c2e57dc
formatting
czarte Oct 28, 2024
c024595
fix todo comment, and formatting
czarte Oct 29, 2024
dddc69a
exit-loaction data structures moved into the ExitTools, cloned into N…
czarte Oct 30, 2024
2474e75
implemented adding country_undesirability for introducer and debutant
czarte Oct 31, 2024
6f4c6d1
formatting and remove unnecesary let
czarte Nov 1, 2024
e43083f
fallback routing assertion change
czarte Nov 1, 2024
cc24a1f
formatting
czarte Nov 1, 2024
a7351e6
rename ExitTools
czarte Nov 3, 2024
641001e
fix request for neverssl.com to impersonate user-agent
czarte Nov 4, 2024
39c2ec3
merge GH-468-545 to GH-788
czarte Nov 5, 2024
5eff1d7
changes in test for country_code_route, remove country_code_opt from …
czarte Nov 6, 2024
9c0d116
working exit country selection wihtout fallback, introduces new struc…
czarte Nov 7, 2024
d550a3c
start of implementing find_exit_location
czarte Nov 8, 2024
8b25698
changes to create db_countries
czarte Nov 8, 2024
10afc2a
completed process for db_countries and routign_engine for fallback_ro…
czarte Nov 11, 2024
89d4a4f
handling missing locations in NeighborhoodDB
czarte Nov 12, 2024
ce70127
introduced Error responose for ExitLocation handler, adjusted tests, …
czarte Nov 13, 2024
f516f53
modified routing engine to harvest more exit nodes from Neihgborhood DB
czarte Nov 18, 2024
ae8547d
implemented recursion for research neighborhood, adjusted tests, miss…
czarte Nov 19, 2024
0493290
fix research_neighborhood in routing_engine, new recursion call for r…
czarte Nov 20, 2024
ef6432c
formatting and compiler complains resolved
czarte Nov 21, 2024
7ee0024
test for db_countries setting on handle gossip
czarte Nov 27, 2024
d4fec75
completed test for newly introduced exit node, added assertions, works
czarte Nov 28, 2024
ce8e766
test for removing exit location of last node with particular country …
czarte Nov 28, 2024
5d67816
formatting
czarte Nov 29, 2024
15b65cf
removing comments, introducing TODOs
czarte Nov 29, 2024
22d791e
unit test for init_db_countries(), removed duplicit test for handle g…
czarte Nov 29, 2024
37f513a
added --show-countries for exit-location subcommand for testing purposes
czarte Nov 29, 2024
f2c1994
first cherry pick from amoy commit b2a3ebf85199b3c1a6620a9047aaab4109…
Apr 2, 2024
0861864
added amoy network
czarte Dec 4, 2024
a66de41
formatting
czarte Dec 8, 2024
f664481
amoy fixing
czarte Dec 8, 2024
62a0c42
Merge branch 'GH-788-QA-amoy' of https://github.com/MASQ-Project/Node…
czarte Dec 8, 2024
62d8ef9
fixing routing engine for direction back in route, and fallback-routi…
czarte Dec 11, 2024
c128e40
create prefix with capacity
czarte Dec 13, 2024
e0fadbe
start of implementing the linked list in routing engine
czarte Dec 16, 2024
30bb91b
workin progress on routing engine with linked list
czarte Dec 16, 2024
63a4d3d
implemented linked list Rc - routing not working
czarte Dec 17, 2024
c2e8018
optimization of routing engine
czarte Dec 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
ci for ip_country + resolved conflicts of clippy
  • Loading branch information
czarte committed Aug 13, 2024
commit 69f79c5d758812c2e81ee10fb2defeab7d7e232a
2,242 changes: 49 additions & 2,193 deletions ip_country/Cargo.lock

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion ip_country/Cargo.toml
Original file line number Diff line number Diff line change
@@ -12,7 +12,6 @@ description = "Handle embedding IP-address-to-country data in MASQ Node"
csv = "1.3.0"
itertools = "0.13.0"
lazy_static = "1.4.0"
masq_lib = { path = "../masq_lib" }


[[bin]]
10 changes: 10 additions & 0 deletions ip_country/src/bit_queue.rs
Original file line number Diff line number Diff line change
@@ -9,6 +9,12 @@ pub struct BitQueue {
front_blank_bit_count: usize, // number of low-order bits in the front byte of the queue that are unused
}

impl Default for BitQueue {
fn default() -> Self {
Self::new()
}
}

impl BitQueue {
pub fn new() -> Self {
let byte_queue = VecDeque::from(vec![0, 0]);
@@ -23,6 +29,10 @@ impl BitQueue {
(self.byte_queue.len() * 8) - self.back_blank_bit_count - self.front_blank_bit_count
}

pub fn is_empty(&self) -> bool {
((self.byte_queue.len() * 8) - self.back_blank_bit_count - self.front_blank_bit_count) == 0
}

#[allow(unused_assignments)]
pub fn add_bits(&mut self, mut bit_data: u64, mut bit_count: usize) {
if bit_count > 64 {
5 changes: 3 additions & 2 deletions ip_country/src/countries.rs
Original file line number Diff line number Diff line change
@@ -280,10 +280,11 @@ impl TryFrom<&str> for Country {
None => return Err(format!("'{}' is not a valid ISO3166 country code", iso3166)),
Some(index) => *index,
};
Ok(Country::try_from(index).expect(&format!(
let country = Country::try_from(index).unwrap_or_else(|_| panic!(
"Data error: ISO3166 {} maps to index {}, but there is no such Country",
iso3166, index
)))
));
Ok(country)
}
}

44 changes: 20 additions & 24 deletions ip_country/src/country_block_serde.rs
Original file line number Diff line number Diff line change
@@ -130,6 +130,12 @@ pub struct CountryBlockSerializer {
ipv6: VersionedIPSerializer<Ipv6Addr, u16, 8>,
}

impl Default for CountryBlockSerializer {
fn default() -> Self {
Self::new()
}
}

impl CountryBlockSerializer {
pub fn new() -> Self {
Self {
@@ -361,7 +367,9 @@ impl PlusMinusOneIP for Ipv6Addr {
}
}

fn integer_from_ip_generic<IPType, UnsignedInt, const OCTETS_COUNT: usize>(ip: IPType) -> UnsignedInt
fn integer_from_ip_generic<IPType, UnsignedInt, const OCTETS_COUNT: usize>(
ip: IPType,
) -> UnsignedInt
where
IPType: IPIntoOctets<OCTETS_COUNT>,
UnsignedInt: From<u8> + BitOrAssign + ShlAssign,
@@ -393,7 +401,6 @@ impl CountryBlockDeserializer<Ipv4Addr, u8, 4> {
}
}
impl Iterator for CountryBlockDeserializer<Ipv4Addr, u8, 4> {

type Item = CountryBlock;

fn next(&mut self) -> Option<CountryBlock> {
@@ -413,7 +420,6 @@ impl CountryBlockDeserializer<Ipv6Addr, u16, 8> {
}

impl Iterator for CountryBlockDeserializer<Ipv6Addr, u16, 8> {

type Item = CountryBlock;

fn next(&mut self) -> Option<CountryBlock> {
@@ -536,13 +542,12 @@ where
value_bit_count: usize,
) -> Vec<Difference> {
(0..difference_count)
.map(|_| {
.filter_map(|_| {
Some(Difference {
index: bit_queue.take_bits(index_bit_count)? as usize,
value: bit_queue.take_bits(value_bit_count)?,
})
})
.flatten()
.collect()
}
}
@@ -564,12 +569,11 @@ impl<IPType, SegmentNumRep, const SEGMENTS_COUNT: usize>
}
}

impl<IPType: Display, SegmentNumRep, const SEGMENTS_COUNT: usize> Debug
impl<IPType: Debug, SegmentNumRep, const SEGMENTS_COUNT: usize> Debug
for VersionedIP<IPType, SegmentNumRep, SEGMENTS_COUNT>
{
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
//TODO("Vojta, this is for you: use the `write!()` macro and make this custom debug impl...it should probably print only the field with the ip and its value")
f.write_fmt(format_args!("ip: {}", self.ip))
f.write_fmt(format_args!("VersionedIP {{ ip: {:?} }}", self.ip))
}
}

@@ -633,7 +637,6 @@ mod tests {
use crate::country_block_stream::{Country, IpRange};
use std::net::Ipv4Addr;
use std::str::FromStr;
use std::io::Write;

fn ipv4_country_blocks() -> Vec<CountryBlock> {
vec![
@@ -688,23 +691,16 @@ mod tests {
}

#[test]
fn versioned_ip_v4_is_printed() {
let mut w = Vec::new();
let ip: VersionedIP<Ipv4Addr, u8, 4> = VersionedIP::new(Ipv4Addr::new(1, 2, 3, 4));

write!(&mut w, "{:?}", ip).unwrap();

assert_eq!(w, [105, 112, 58, 32, 49, 46, 50, 46, 51, 46, 52]);
}

#[test]
fn versioned_ip_v6_is_printed() {
let mut w = Vec::new();
let ip: VersionedIP<Ipv6Addr, u16, 8> = VersionedIP::new(Ipv6Addr::new(1, 2, 3, 4, 5, 6, 7, 8));
fn versioned_ip_implements_debug() {
let ip4: VersionedIP<Ipv4Addr, u8, 4> = VersionedIP::new(Ipv4Addr::new(1, 2, 3, 4));
let ip6: VersionedIP<Ipv6Addr, u16, 8> =
VersionedIP::new(Ipv6Addr::new(1, 2, 3, 4, 5, 6, 7, 8));

write!(&mut w, "{:?}", ip).unwrap();
let result_ip4 = format!("{:?}", ip4);
let result_ip6 = format!("{:?}", ip6);

assert_eq!(w, [105, 112, 58, 32, 49, 58, 50, 58, 51, 58, 52, 58, 53, 58, 54, 58, 55, 58, 56]);
assert_eq!(result_ip4, "VersionedIP { ip: 1.2.3.4 }");
assert_eq!(result_ip6, "VersionedIP { ip: 1:2:3:4:5:6:7:8 }");
}

#[test]
8 changes: 4 additions & 4 deletions ip_country/src/country_block_stream.rs
Original file line number Diff line number Diff line change
@@ -25,7 +25,7 @@ impl Country {
}
}

#[derive(Clone, PartialEq, Debug)]
#[derive(Clone, PartialEq, Eq, Debug)]
pub enum IpRange {
V4(Ipv4Addr, Ipv4Addr),
V6(Ipv6Addr, Ipv6Addr),
@@ -56,10 +56,10 @@ impl IpRange {
pub fn ordering_by_range(&self, ip_addr: IpAddr) -> Ordering {
match (ip_addr, self) {
(IpAddr::V4(ip), IpRange::V4(low, hi)) => {
Self::compare_with_range::<u32, Ipv4Addr>(ip, low.clone(), hi.clone())
Self::compare_with_range::<u32, Ipv4Addr>(ip, *low, *hi)
}
(IpAddr::V6(ip), IpRange::V6(low, hi)) => {
Self::compare_with_range::<u128, Ipv6Addr>(ip, low.clone(), hi.clone())
Self::compare_with_range::<u128, Ipv6Addr>(ip, *low, *hi)
}
(ip, range) => panic!("Mismatch ip ({}) and range ({:?}) versions", ip, range),
}
@@ -85,7 +85,7 @@ impl IpRange {
}
}

#[derive(Clone, PartialEq, Debug)]
#[derive(Clone, PartialEq, Eq, Debug)]
pub struct CountryBlock {
pub ip_range: IpRange,
pub country: Country,
34 changes: 10 additions & 24 deletions ip_country/src/country_finder.rs
Original file line number Diff line number Diff line change
@@ -28,23 +28,11 @@ pub struct CountryCodeFinder {
impl CountryCodeFinder {
pub fn new(ipv4_data: (Vec<u64>, usize), ipv6_data: (Vec<u64>, usize)) -> Self {
Self {
ipv4: Self::initialize_country_finder_ipv4(ipv4_data),
ipv6: Self::initialize_country_finder_ipv6(ipv6_data),
ipv4: CountryBlockDeserializer::<Ipv4Addr, u8, 4>::new(ipv4_data).into_iter().collect_vec(),
ipv6: CountryBlockDeserializer::<Ipv6Addr, u16, 8>::new(ipv6_data).into_iter().collect_vec(),
}
}

fn initialize_country_finder_ipv4(data: (Vec<u64>, usize)) -> Vec<CountryBlock> {
let deserializer = CountryBlockDeserializer::<Ipv4Addr, u8, 4>::new(data);
let result: Vec<CountryBlock> = deserializer.into_iter().collect_vec();
result
}

fn initialize_country_finder_ipv6(data: (Vec<u64>, usize)) -> Vec<CountryBlock> {
let deserializer = CountryBlockDeserializer::<Ipv6Addr, u16, 8>::new(data);
let result: Vec<CountryBlock> = deserializer.collect_vec();
result
}

pub fn find_country(
country_code_block: &CountryCodeFinder,
ip_addr: IpAddr,
@@ -253,14 +241,12 @@ mod tests {
#[test]
fn deserialize_country_blocks_ipv4_and_ipv6_adn_fill_vecs() {
let time_start = SystemTime::now();
let deserializer_ipv4 =
CountryBlockDeserializer::<Ipv4Addr, u8, 4>::new(
crate::dbip_country::ipv4_country_data(),
);
let deserializer_ipv6 =
CountryBlockDeserializer::<Ipv6Addr, u16, 8>::new(
crate::dbip_country::ipv6_country_data(),
);
let deserializer_ipv4 = CountryBlockDeserializer::<Ipv4Addr, u8, 4>::new(
crate::dbip_country::ipv4_country_data(),
);
let deserializer_ipv6 = CountryBlockDeserializer::<Ipv6Addr, u16, 8>::new(
crate::dbip_country::ipv6_country_data(),
);
let time_end = SystemTime::now();

let time_start_fill = SystemTime::now();
@@ -271,12 +257,12 @@ mod tests {
let duration_deserialize = time_end.duration_since(time_start).unwrap();
let duration_fill = time_end_fill.duration_since(time_start_fill).unwrap();
assert!(
duration_deserialize.as_secs() < 5,
duration_deserialize.as_secs() < 15,
"Duration of the deserialization was too long: {} ms",
duration_deserialize.as_millis()
);
assert!(
duration_fill.as_secs() < 2,
duration_fill.as_secs() < 8,
"Duration of the filling the vectors was too long: {} ms",
duration_fill.as_millis()
);
Loading