cleanup
This commit is contained in:
parent
25ace50d45
commit
5df46aecae
263
Cargo.lock
generated
263
Cargo.lock
generated
@ -63,9 +63,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "aho-corasick"
|
name = "aho-corasick"
|
||||||
version = "0.7.19"
|
version = "0.7.20"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e"
|
checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"memchr",
|
"memchr",
|
||||||
]
|
]
|
||||||
@ -218,13 +218,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-io"
|
name = "async-io"
|
||||||
version = "1.10.0"
|
version = "1.11.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e8121296a9f05be7f34aa4196b1747243b3b62e048bb7906f644f3fbfc490cf7"
|
checksum = "6fe557ebe0829511ddff4ad3011d159c0e6f144e05e3e8c3ab5095a131900a7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-lock",
|
"async-lock",
|
||||||
"autocfg",
|
"autocfg",
|
||||||
"concurrent-queue 1.2.4",
|
"concurrent-queue 2.0.0",
|
||||||
"futures-lite",
|
"futures-lite",
|
||||||
"libc",
|
"libc",
|
||||||
"log",
|
"log",
|
||||||
@ -399,7 +399,7 @@ dependencies = [
|
|||||||
"futures-util",
|
"futures-util",
|
||||||
"pin-project 1.0.12",
|
"pin-project 1.0.12",
|
||||||
"rustc_version",
|
"rustc_version",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"wasm-bindgen-futures",
|
"wasm-bindgen-futures",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -467,7 +467,7 @@ dependencies = [
|
|||||||
"async-trait",
|
"async-trait",
|
||||||
"axum-core",
|
"axum-core",
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"http",
|
"http",
|
||||||
"http-body",
|
"http-body",
|
||||||
@ -480,7 +480,7 @@ dependencies = [
|
|||||||
"pin-project-lite 0.2.9",
|
"pin-project-lite 0.2.9",
|
||||||
"serde",
|
"serde",
|
||||||
"sync_wrapper",
|
"sync_wrapper",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tower",
|
"tower",
|
||||||
"tower-http",
|
"tower-http",
|
||||||
"tower-layer",
|
"tower-layer",
|
||||||
@ -494,7 +494,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc"
|
checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"http",
|
"http",
|
||||||
"http-body",
|
"http-body",
|
||||||
@ -513,7 +513,7 @@ dependencies = [
|
|||||||
"cc",
|
"cc",
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"libc",
|
"libc",
|
||||||
"miniz_oxide",
|
"miniz_oxide 0.5.4",
|
||||||
"object",
|
"object",
|
||||||
"rustc-demangle",
|
"rustc-demangle",
|
||||||
]
|
]
|
||||||
@ -569,9 +569,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "blake3"
|
name = "blake3"
|
||||||
version = "1.3.1"
|
version = "1.3.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f"
|
checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrayref",
|
"arrayref",
|
||||||
"arrayvec",
|
"arrayvec",
|
||||||
@ -627,16 +627,16 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "blocking"
|
name = "blocking"
|
||||||
version = "1.2.0"
|
version = "1.3.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc"
|
checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-channel",
|
"async-channel",
|
||||||
|
"async-lock",
|
||||||
"async-task",
|
"async-task",
|
||||||
"atomic-waker",
|
"atomic-waker",
|
||||||
"fastrand",
|
"fastrand",
|
||||||
"futures-lite",
|
"futures-lite",
|
||||||
"once_cell",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -707,9 +707,9 @@ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bytes"
|
name = "bytes"
|
||||||
version = "1.2.1"
|
version = "1.3.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
|
checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cache-padded"
|
name = "cache-padded"
|
||||||
@ -719,9 +719,9 @@ checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "capnp"
|
name = "capnp"
|
||||||
version = "0.15.0"
|
version = "0.15.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0e850735c543306805e2ba8ee0a9632b0f62bb05872a8be2e2674e9903a1c048"
|
checksum = "f4929d71efc55aa42759793d853ecdfa6bb034419d22884e3e9871f0f593ac8d"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "capnp-futures"
|
name = "capnp-futures"
|
||||||
@ -761,9 +761,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cc"
|
name = "cc"
|
||||||
version = "1.0.76"
|
version = "1.0.77"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f"
|
checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cesu8"
|
name = "cesu8"
|
||||||
@ -830,15 +830,15 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "chrono"
|
name = "chrono"
|
||||||
version = "0.4.22"
|
version = "0.4.23"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
|
checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"iana-time-zone",
|
"iana-time-zone",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"num-integer",
|
"num-integer",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
"time 0.1.44",
|
"time 0.1.45",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
"winapi 0.3.9",
|
"winapi 0.3.9",
|
||||||
]
|
]
|
||||||
@ -962,7 +962,7 @@ version = "4.6.6"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
|
checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"memchr",
|
"memchr",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1031,7 +1031,7 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"thread_local",
|
"thread_local",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"tonic",
|
"tonic",
|
||||||
"tracing",
|
"tracing",
|
||||||
@ -1061,9 +1061,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "constant_time_eq"
|
name = "constant_time_eq"
|
||||||
version = "0.1.5"
|
version = "0.2.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
|
checksum = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "core-foundation"
|
name = "core-foundation"
|
||||||
@ -1174,22 +1174,22 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "crossbeam-epoch"
|
name = "crossbeam-epoch"
|
||||||
version = "0.9.11"
|
version = "0.9.13"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348"
|
checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"autocfg",
|
"autocfg",
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"crossbeam-utils",
|
"crossbeam-utils",
|
||||||
"memoffset",
|
"memoffset 0.7.1",
|
||||||
"scopeguard",
|
"scopeguard",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "crossbeam-utils"
|
name = "crossbeam-utils"
|
||||||
version = "0.8.12"
|
version = "0.8.14"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac"
|
checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
]
|
]
|
||||||
@ -1285,7 +1285,7 @@ dependencies = [
|
|||||||
"libc",
|
"libc",
|
||||||
"log",
|
"log",
|
||||||
"signal-hook",
|
"signal-hook",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"unicode-segmentation",
|
"unicode-segmentation",
|
||||||
"unicode-width",
|
"unicode-width",
|
||||||
]
|
]
|
||||||
@ -1330,7 +1330,7 @@ dependencies = [
|
|||||||
"num",
|
"num",
|
||||||
"owning_ref",
|
"owning_ref",
|
||||||
"time 0.3.17",
|
"time 0.3.17",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"toml",
|
"toml",
|
||||||
"unicode-segmentation",
|
"unicode-segmentation",
|
||||||
"unicode-width",
|
"unicode-width",
|
||||||
@ -1374,9 +1374,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cxx"
|
name = "cxx"
|
||||||
version = "1.0.81"
|
version = "1.0.82"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888"
|
checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"cxxbridge-flags",
|
"cxxbridge-flags",
|
||||||
@ -1386,9 +1386,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cxx-build"
|
name = "cxx-build"
|
||||||
version = "1.0.81"
|
version = "1.0.82"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3"
|
checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"codespan-reporting",
|
"codespan-reporting",
|
||||||
@ -1401,15 +1401,15 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cxxbridge-flags"
|
name = "cxxbridge-flags"
|
||||||
version = "1.0.81"
|
version = "1.0.82"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f"
|
checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cxxbridge-macro"
|
name = "cxxbridge-macro"
|
||||||
version = "1.0.81"
|
version = "1.0.82"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704"
|
checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@ -1536,9 +1536,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "digest"
|
name = "digest"
|
||||||
version = "0.10.5"
|
version = "0.10.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c"
|
checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"block-buffer 0.10.3",
|
"block-buffer 0.10.3",
|
||||||
"crypto-common",
|
"crypto-common",
|
||||||
@ -1813,12 +1813,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "flate2"
|
name = "flate2"
|
||||||
version = "1.0.24"
|
version = "1.0.25"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
|
checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crc32fast",
|
"crc32fast",
|
||||||
"miniz_oxide",
|
"miniz_oxide 0.6.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2120,7 +2120,7 @@ version = "0.3.15"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4"
|
checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"fnv",
|
"fnv",
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"futures-sink",
|
"futures-sink",
|
||||||
@ -2128,7 +2128,7 @@ dependencies = [
|
|||||||
"http",
|
"http",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"slab",
|
"slab",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
@ -2236,7 +2236,7 @@ version = "0.2.8"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
|
checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"fnv",
|
"fnv",
|
||||||
"itoa",
|
"itoa",
|
||||||
]
|
]
|
||||||
@ -2247,7 +2247,7 @@ version = "0.4.5"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
|
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"http",
|
"http",
|
||||||
"pin-project-lite 0.2.9",
|
"pin-project-lite 0.2.9",
|
||||||
]
|
]
|
||||||
@ -2282,7 +2282,7 @@ version = "0.14.23"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c"
|
checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
@ -2294,7 +2294,7 @@ dependencies = [
|
|||||||
"itoa",
|
"itoa",
|
||||||
"pin-project-lite 0.2.9",
|
"pin-project-lite 0.2.9",
|
||||||
"socket2",
|
"socket2",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tower-service",
|
"tower-service",
|
||||||
"tracing",
|
"tracing",
|
||||||
"want",
|
"want",
|
||||||
@ -2308,7 +2308,7 @@ checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"hyper",
|
"hyper",
|
||||||
"pin-project-lite 0.2.9",
|
"pin-project-lite 0.2.9",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tokio-io-timeout",
|
"tokio-io-timeout",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -2378,7 +2378,7 @@ name = "igd"
|
|||||||
version = "0.12.0"
|
version = "0.12.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"attohttpc",
|
"attohttpc",
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"futures",
|
"futures",
|
||||||
"http",
|
"http",
|
||||||
"hyper",
|
"hyper",
|
||||||
@ -2387,7 +2387,7 @@ dependencies = [
|
|||||||
"simplelog 0.9.0",
|
"simplelog 0.9.0",
|
||||||
"tokio 0.2.25",
|
"tokio 0.2.25",
|
||||||
"tokio 0.3.7",
|
"tokio 0.3.7",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"url",
|
"url",
|
||||||
"xmltree",
|
"xmltree",
|
||||||
]
|
]
|
||||||
@ -2438,9 +2438,9 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "indexmap"
|
name = "indexmap"
|
||||||
version = "1.9.1"
|
version = "1.9.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
|
checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"autocfg",
|
"autocfg",
|
||||||
"hashbrown",
|
"hashbrown",
|
||||||
@ -2487,9 +2487,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ipconfig"
|
name = "ipconfig"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "723519edce41262b05d4143ceb95050e4c614f483e78e9fd9e39a8275a84ad98"
|
checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"socket2",
|
"socket2",
|
||||||
"widestring 0.5.1",
|
"widestring 0.5.1",
|
||||||
@ -2842,6 +2842,15 @@ dependencies = [
|
|||||||
"autocfg",
|
"autocfg",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memoffset"
|
||||||
|
version = "0.7.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
|
||||||
|
dependencies = [
|
||||||
|
"autocfg",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "memory_units"
|
name = "memory_units"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
@ -2869,6 +2878,15 @@ dependencies = [
|
|||||||
"adler",
|
"adler",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "miniz_oxide"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
|
||||||
|
dependencies = [
|
||||||
|
"adler",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mio"
|
name = "mio"
|
||||||
version = "0.6.23"
|
version = "0.6.23"
|
||||||
@ -2991,7 +3009,7 @@ checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"jni-sys",
|
"jni-sys",
|
||||||
"ndk-sys 0.4.0",
|
"ndk-sys 0.4.1+23.1.7779620",
|
||||||
"num_enum",
|
"num_enum",
|
||||||
"raw-window-handle",
|
"raw-window-handle",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
@ -3015,7 +3033,7 @@ dependencies = [
|
|||||||
"ndk 0.7.0",
|
"ndk 0.7.0",
|
||||||
"ndk-context",
|
"ndk-context",
|
||||||
"ndk-macro",
|
"ndk-macro",
|
||||||
"ndk-sys 0.4.0",
|
"ndk-sys 0.4.1+23.1.7779620",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"parking_lot 0.12.1",
|
"parking_lot 0.12.1",
|
||||||
]
|
]
|
||||||
@ -3044,9 +3062,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ndk-sys"
|
name = "ndk-sys"
|
||||||
version = "0.4.0"
|
version = "0.4.1+23.1.7779620"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "21d83ec9c63ec5bf950200a8e508bdad6659972187b625469f58ef8c08e29046"
|
checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"jni-sys",
|
"jni-sys",
|
||||||
]
|
]
|
||||||
@ -3098,12 +3116,12 @@ dependencies = [
|
|||||||
name = "netlink-proto"
|
name = "netlink-proto"
|
||||||
version = "0.9.1"
|
version = "0.9.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"futures",
|
"futures",
|
||||||
"log",
|
"log",
|
||||||
"netlink-packet-core",
|
"netlink-packet-core",
|
||||||
"netlink-sys",
|
"netlink-sys",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3111,11 +3129,11 @@ name = "netlink-sys"
|
|||||||
version = "0.8.1"
|
version = "0.8.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-io",
|
"async-io",
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"futures",
|
"futures",
|
||||||
"libc",
|
"libc",
|
||||||
"log",
|
"log",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3128,7 +3146,7 @@ dependencies = [
|
|||||||
"cc",
|
"cc",
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"libc",
|
"libc",
|
||||||
"memoffset",
|
"memoffset 0.6.5",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3141,7 +3159,7 @@ dependencies = [
|
|||||||
"bitflags",
|
"bitflags",
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"libc",
|
"libc",
|
||||||
"memoffset",
|
"memoffset 0.6.5",
|
||||||
"pin-utils",
|
"pin-utils",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -3362,7 +3380,7 @@ dependencies = [
|
|||||||
"prost",
|
"prost",
|
||||||
"protobuf",
|
"protobuf",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tonic",
|
"tonic",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -3426,7 +3444,7 @@ dependencies = [
|
|||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"rand 0.8.5",
|
"rand 0.8.5",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -3442,9 +3460,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "os_str_bytes"
|
name = "os_str_bytes"
|
||||||
version = "6.4.0"
|
version = "6.4.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e"
|
checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "overload"
|
name = "overload"
|
||||||
@ -3573,9 +3591,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pest"
|
name = "pest"
|
||||||
version = "2.4.1"
|
version = "2.5.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a528564cc62c19a7acac4d81e01f39e53e25e17b934878f4c6d25cc2836e62f8"
|
checksum = "5f400b0f7905bf702f9f3dc3df5a121b16c54e9e8012c082905fdf09a931861a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"ucd-trie",
|
"ucd-trie",
|
||||||
@ -3583,9 +3601,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pest_derive"
|
name = "pest_derive"
|
||||||
version = "2.4.1"
|
version = "2.5.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d5fd9bc6500181952d34bd0b2b0163a54d794227b498be0b7afa7698d0a7b18f"
|
checksum = "423c2ba011d6e27b02b482a3707c773d19aec65cc024637aec44e19652e66f63"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"pest",
|
"pest",
|
||||||
"pest_generator",
|
"pest_generator",
|
||||||
@ -3593,9 +3611,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pest_generator"
|
name = "pest_generator"
|
||||||
version = "2.4.1"
|
version = "2.5.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d2610d5ac5156217b4ff8e46ddcef7cdf44b273da2ac5bca2ecbfa86a330e7c4"
|
checksum = "3e64e6c2c85031c02fdbd9e5c72845445ca0a724d419aa0bc068ac620c9935c1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"pest",
|
"pest",
|
||||||
"pest_meta",
|
"pest_meta",
|
||||||
@ -3606,9 +3624,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pest_meta"
|
name = "pest_meta"
|
||||||
version = "2.4.1"
|
version = "2.5.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "824749bf7e21dd66b36fbe26b3f45c713879cccd4a009a917ab8e045ca8246fe"
|
checksum = "57959b91f0a133f89a68be874a5c88ed689c19cd729ecdb5d762ebf16c64d662"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"pest",
|
"pest",
|
||||||
@ -3840,7 +3858,7 @@ version = "0.11.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a0841812012b2d4a6145fae9a6af1534873c32aa67fff26bd09f8fa42c83f95a"
|
checksum = "a0841812012b2d4a6145fae9a6af1534873c32aa67fff26bd09f8fa42c83f95a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"prost-derive",
|
"prost-derive",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -3850,7 +3868,7 @@ version = "0.11.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1d8b442418ea0822409d9e7d047cbf1e7e9e1760b172bf9982cf29d517c93511"
|
checksum = "1d8b442418ea0822409d9e7d047cbf1e7e9e1760b172bf9982cf29d517c93511"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"heck",
|
"heck",
|
||||||
"itertools",
|
"itertools",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
@ -3885,7 +3903,7 @@ version = "0.11.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "747761bc3dc48f9a34553bf65605cf6cb6288ba219f3450b4275dbd81539551a"
|
checksum = "747761bc3dc48f9a34553bf65605cf6cb6288ba219f3450b4275dbd81539551a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"prost",
|
"prost",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -4018,11 +4036,10 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rayon"
|
name = "rayon"
|
||||||
version = "1.5.3"
|
version = "1.6.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
|
checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"autocfg",
|
|
||||||
"crossbeam-deque",
|
"crossbeam-deque",
|
||||||
"either",
|
"either",
|
||||||
"rayon-core",
|
"rayon-core",
|
||||||
@ -4030,9 +4047,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rayon-core"
|
name = "rayon-core"
|
||||||
version = "1.9.3"
|
version = "1.10.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
|
checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam-channel",
|
"crossbeam-channel",
|
||||||
"crossbeam-deque",
|
"crossbeam-deque",
|
||||||
@ -4158,7 +4175,7 @@ version = "0.5.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec"
|
checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"rustc-hex",
|
"rustc-hex",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -4206,7 +4223,7 @@ dependencies = [
|
|||||||
"netlink-proto",
|
"netlink-proto",
|
||||||
"nix 0.22.3",
|
"nix 0.22.3",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4476,9 +4493,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_json"
|
name = "serde_json"
|
||||||
version = "1.0.87"
|
version = "1.0.89"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45"
|
checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"itoa",
|
"itoa",
|
||||||
"ryu",
|
"ryu",
|
||||||
@ -4556,7 +4573,7 @@ checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"cpufeatures",
|
"cpufeatures",
|
||||||
"digest 0.10.5",
|
"digest 0.10.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4567,7 +4584,7 @@ checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"cpufeatures",
|
"cpufeatures",
|
||||||
"digest 0.10.5",
|
"digest 0.10.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4791,9 +4808,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sysinfo"
|
name = "sysinfo"
|
||||||
version = "0.26.7"
|
version = "0.26.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c375d5fd899e32847b8566e10598d6e9f1d9b55ec6de3cdf9e7da4bdc51371bc"
|
checksum = "29ddf41e393a9133c81d5f0974195366bd57082deac6e0eb02ed39b8341c2bb6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"core-foundation-sys 0.8.3",
|
"core-foundation-sys 0.8.3",
|
||||||
@ -4870,9 +4887,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "time"
|
name = "time"
|
||||||
version = "0.1.44"
|
version = "0.1.45"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
|
checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"wasi 0.10.0+wasi-snapshot-preview1",
|
"wasi 0.10.0+wasi-snapshot-preview1",
|
||||||
@ -4972,12 +4989,12 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tokio"
|
name = "tokio"
|
||||||
version = "1.21.2"
|
version = "1.22.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099"
|
checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"autocfg",
|
"autocfg",
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"libc",
|
"libc",
|
||||||
"memchr",
|
"memchr",
|
||||||
"mio 0.8.5",
|
"mio 0.8.5",
|
||||||
@ -4998,7 +5015,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
|
checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"pin-project-lite 0.2.9",
|
"pin-project-lite 0.2.9",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5020,7 +5037,7 @@ checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"pin-project-lite 0.2.9",
|
"pin-project-lite 0.2.9",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5029,12 +5046,12 @@ version = "0.7.4"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
|
checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"futures-io",
|
"futures-io",
|
||||||
"futures-sink",
|
"futures-sink",
|
||||||
"pin-project-lite 0.2.9",
|
"pin-project-lite 0.2.9",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -5057,7 +5074,7 @@ dependencies = [
|
|||||||
"async-trait",
|
"async-trait",
|
||||||
"axum",
|
"axum",
|
||||||
"base64 0.13.1",
|
"base64 0.13.1",
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"h2",
|
"h2",
|
||||||
@ -5069,7 +5086,7 @@ dependencies = [
|
|||||||
"pin-project 1.0.12",
|
"pin-project 1.0.12",
|
||||||
"prost",
|
"prost",
|
||||||
"prost-derive",
|
"prost-derive",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tower",
|
"tower",
|
||||||
@ -5105,7 +5122,7 @@ dependencies = [
|
|||||||
"pin-project-lite 0.2.9",
|
"pin-project-lite 0.2.9",
|
||||||
"rand 0.8.5",
|
"rand 0.8.5",
|
||||||
"slab",
|
"slab",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tower-layer",
|
"tower-layer",
|
||||||
"tower-service",
|
"tower-service",
|
||||||
@ -5119,7 +5136,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "3c530c8675c1dbf98facee631536fa116b5fb6382d7dd6dc1b118d970eafe3ba"
|
checksum = "3c530c8675c1dbf98facee631536fa116b5fb6382d7dd6dc1b118d970eafe3ba"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"http",
|
"http",
|
||||||
@ -5304,7 +5321,7 @@ dependencies = [
|
|||||||
"smallvec",
|
"smallvec",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tinyvec",
|
"tinyvec",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tracing",
|
"tracing",
|
||||||
"url",
|
"url",
|
||||||
]
|
]
|
||||||
@ -5324,7 +5341,7 @@ dependencies = [
|
|||||||
"resolv-conf",
|
"resolv-conf",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tracing",
|
"tracing",
|
||||||
"trust-dns-proto",
|
"trust-dns-proto",
|
||||||
]
|
]
|
||||||
@ -5362,7 +5379,7 @@ checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.13.1",
|
"base64 0.13.1",
|
||||||
"byteorder",
|
"byteorder",
|
||||||
"bytes 1.2.1",
|
"bytes 1.3.0",
|
||||||
"http",
|
"http",
|
||||||
"httparse",
|
"httparse",
|
||||||
"log",
|
"log",
|
||||||
@ -5532,7 +5549,7 @@ dependencies = [
|
|||||||
"serde_derive",
|
"serde_derive",
|
||||||
"serial_test",
|
"serial_test",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"veilid-core",
|
"veilid-core",
|
||||||
]
|
]
|
||||||
@ -5611,7 +5628,7 @@ dependencies = [
|
|||||||
"static_assertions",
|
"static_assertions",
|
||||||
"stop-token",
|
"stop-token",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tracing",
|
"tracing",
|
||||||
@ -5655,7 +5672,7 @@ dependencies = [
|
|||||||
"parking_lot 0.12.1",
|
"parking_lot 0.12.1",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tracing",
|
"tracing",
|
||||||
@ -5702,7 +5719,7 @@ dependencies = [
|
|||||||
"signal-hook",
|
"signal-hook",
|
||||||
"signal-hook-async-std",
|
"signal-hook-async-std",
|
||||||
"stop-token",
|
"stop-token",
|
||||||
"tokio 1.21.2",
|
"tokio 1.22.0",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tracing",
|
"tracing",
|
||||||
@ -6201,9 +6218,9 @@ checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winreg"
|
name = "winreg"
|
||||||
version = "0.7.0"
|
version = "0.10.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
|
checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"winapi 0.3.9",
|
"winapi 0.3.9",
|
||||||
]
|
]
|
||||||
@ -6238,9 +6255,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wyz"
|
name = "wyz"
|
||||||
version = "0.5.0"
|
version = "0.5.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e"
|
checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"tap",
|
"tap",
|
||||||
]
|
]
|
||||||
|
@ -4,6 +4,7 @@ use crate::crypto::Crypto;
|
|||||||
use crate::veilid_api::*;
|
use crate::veilid_api::*;
|
||||||
use crate::veilid_config::*;
|
use crate::veilid_config::*;
|
||||||
use crate::xx::*;
|
use crate::xx::*;
|
||||||
|
use crate::*;
|
||||||
|
|
||||||
pub type UpdateCallback = Arc<dyn Fn(VeilidUpdate) + Send + Sync>;
|
pub type UpdateCallback = Arc<dyn Fn(VeilidUpdate) + Send + Sync>;
|
||||||
|
|
||||||
@ -203,7 +204,7 @@ impl VeilidCoreContext {
|
|||||||
if #[cfg(target_os = "android")] {
|
if #[cfg(target_os = "android")] {
|
||||||
if crate::intf::utils::android::ANDROID_GLOBALS.lock().is_none() {
|
if crate::intf::utils::android::ANDROID_GLOBALS.lock().is_none() {
|
||||||
error!("Android globals are not set up");
|
error!("Android globals are not set up");
|
||||||
return Err(VeilidAPIError::Internal { message: "Android globals are not set up".to_owned() });
|
apibail_internal!("Android globals are not set up");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -251,7 +252,7 @@ pub async fn api_startup(
|
|||||||
// See if we have an API started up already
|
// See if we have an API started up already
|
||||||
let mut initialized_lock = INITIALIZED.lock().await;
|
let mut initialized_lock = INITIALIZED.lock().await;
|
||||||
if *initialized_lock {
|
if *initialized_lock {
|
||||||
return Err(VeilidAPIError::AlreadyInitialized);
|
apibail_already_initialized!();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create core context
|
// Create core context
|
||||||
@ -274,7 +275,7 @@ pub async fn api_startup_json(
|
|||||||
// See if we have an API started up already
|
// See if we have an API started up already
|
||||||
let mut initialized_lock = INITIALIZED.lock().await;
|
let mut initialized_lock = INITIALIZED.lock().await;
|
||||||
if *initialized_lock {
|
if *initialized_lock {
|
||||||
return Err(VeilidAPIError::AlreadyInitialized);
|
apibail_already_initialized!();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create core context
|
// Create core context
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::tests::common::test_veilid_config::*;
|
use crate::tests::common::test_veilid_config::*;
|
||||||
use crate::xx::*;
|
use crate::xx::*;
|
||||||
use crate::*;
|
|
||||||
|
|
||||||
static LOREM_IPSUM:&[u8] = b"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ";
|
static LOREM_IPSUM:&[u8] = b"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ";
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::tests::common::test_veilid_config::*;
|
use crate::tests::common::test_veilid_config::*;
|
||||||
use crate::xx::*;
|
use crate::xx::*;
|
||||||
use crate::*;
|
|
||||||
|
|
||||||
pub async fn test_envelope_round_trip() {
|
pub async fn test_envelope_round_trip() {
|
||||||
info!("--- test envelope round trip ---");
|
info!("--- test envelope round trip ---");
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
use connection_table::*;
|
use connection_table::*;
|
||||||
use network_connection::*;
|
use network_connection::*;
|
||||||
use stop_token::future::FutureExt;
|
use stop_token::future::FutureExt;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
use crate::*;
|
use crate::*;
|
||||||
|
use crate::xx::*;
|
||||||
|
|
||||||
#[cfg(not(target_arch = "wasm32"))]
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
mod native;
|
mod native;
|
||||||
@ -33,7 +34,6 @@ use routing_table::*;
|
|||||||
use rpc_processor::*;
|
use rpc_processor::*;
|
||||||
#[cfg(target_arch = "wasm32")]
|
#[cfg(target_arch = "wasm32")]
|
||||||
use wasm::*;
|
use wasm::*;
|
||||||
use xx::*;
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
use igd::*;
|
use igd::*;
|
||||||
use std::net::UdpSocket;
|
use std::net::UdpSocket;
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use super::super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
|
|
||||||
impl NetworkManager {
|
impl NetworkManager {
|
||||||
// Clean up the public address check tables, removing entries that have timed out
|
// Clean up the public address check tables, removing entries that have timed out
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
use super::super::*;
|
use super::*;
|
||||||
|
|
||||||
use crate::xx::*;
|
|
||||||
|
|
||||||
impl NetworkManager {
|
impl NetworkManager {
|
||||||
// Compute transfer statistics for the low level network
|
// Compute transfer statistics for the low level network
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
|
use super::*;
|
||||||
|
|
||||||
use super::connection_table::*;
|
use super::connection_table::*;
|
||||||
use super::network_connection::*;
|
|
||||||
use crate::tests::common::test_veilid_config::*;
|
use crate::tests::common::test_veilid_config::*;
|
||||||
use crate::xx::*;
|
|
||||||
use crate::*;
|
|
||||||
|
|
||||||
pub async fn test_add_get_remove() {
|
pub async fn test_add_get_remove() {
|
||||||
let config = get_config();
|
let config = get_config();
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
mod protocol;
|
mod protocol;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
use crate::routing_table::*;
|
use crate::routing_table::*;
|
||||||
use connection_manager::*;
|
use connection_manager::*;
|
||||||
use protocol::ws::WebsocketProtocolHandler;
|
use protocol::ws::WebsocketProtocolHandler;
|
||||||
|
@ -2,7 +2,6 @@ pub mod wrtc;
|
|||||||
pub mod ws;
|
pub mod ws;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
use std::io;
|
use std::io;
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
@ -11,11 +11,12 @@ mod routing_table_inner;
|
|||||||
mod stats_accounting;
|
mod stats_accounting;
|
||||||
mod tasks;
|
mod tasks;
|
||||||
|
|
||||||
|
use crate::xx::*;
|
||||||
|
use crate::*;
|
||||||
|
|
||||||
use crate::crypto::*;
|
use crate::crypto::*;
|
||||||
use crate::network_manager::*;
|
use crate::network_manager::*;
|
||||||
use crate::rpc_processor::*;
|
use crate::rpc_processor::*;
|
||||||
use crate::xx::*;
|
|
||||||
use crate::*;
|
|
||||||
use bucket::*;
|
use bucket::*;
|
||||||
pub use bucket_entry::*;
|
pub use bucket_entry::*;
|
||||||
pub use debug::*;
|
pub use debug::*;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use super::super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
|
|
||||||
use futures_util::stream::{FuturesUnordered, StreamExt};
|
use futures_util::stream::{FuturesUnordered, StreamExt};
|
||||||
use stop_token::future::FutureExt as StopFutureExt;
|
use stop_token::future::FutureExt as StopFutureExt;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use super::super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
|
|
||||||
impl RoutingTable {
|
impl RoutingTable {
|
||||||
// Kick the queued buckets in the routing table to free dead nodes if necessary
|
// Kick the queued buckets in the routing table to free dead nodes if necessary
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use super::super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
|
|
||||||
use futures_util::stream::{FuturesOrdered, StreamExt};
|
use futures_util::stream::{FuturesOrdered, StreamExt};
|
||||||
use stop_token::future::FutureExt as StopFutureExt;
|
use stop_token::future::FutureExt as StopFutureExt;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use super::super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
|
|
||||||
use futures_util::stream::{FuturesUnordered, StreamExt};
|
use futures_util::stream::{FuturesUnordered, StreamExt};
|
||||||
use futures_util::FutureExt;
|
use futures_util::FutureExt;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use super::super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
|
|
||||||
use futures_util::stream::{FuturesUnordered, StreamExt};
|
use futures_util::stream::{FuturesUnordered, StreamExt};
|
||||||
use futures_util::FutureExt;
|
use futures_util::FutureExt;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use super::super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
|
|
||||||
impl RoutingTable {
|
impl RoutingTable {
|
||||||
// Keep relays assigned and accessible
|
// Keep relays assigned and accessible
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use super::super::*;
|
use super::*;
|
||||||
use crate::xx::*;
|
|
||||||
|
|
||||||
impl RoutingTable {
|
impl RoutingTable {
|
||||||
// Compute transfer statistics to determine how 'fast' a node is
|
// Compute transfer statistics to determine how 'fast' a node is
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
use crate::xx::*;
|
use super::*;
|
||||||
use crate::*;
|
|
||||||
use core::convert::TryInto;
|
use core::convert::TryInto;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_address(
|
pub fn encode_address(
|
||||||
address: &Address,
|
address: &Address,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_address_type_set(
|
pub fn encode_address_type_set(
|
||||||
address_type_set: &AddressTypeSet,
|
address_type_set: &AddressTypeSet,
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
use crate::crypto::*;
|
use super::*;
|
||||||
use crate::*;
|
|
||||||
use core::convert::TryInto;
|
use core::convert::TryInto;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn decode_dht_key(public_key: &veilid_capnp::key256::Reader) -> DHTKey {
|
pub fn decode_dht_key(public_key: &veilid_capnp::key256::Reader) -> DHTKey {
|
||||||
let u0 = public_key.get_u0().to_be_bytes();
|
let u0 = public_key.get_u0().to_be_bytes();
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_signature(sig: &DHTSignature, builder: &mut veilid_capnp::signature512::Builder) {
|
pub fn encode_signature(sig: &DHTSignature, builder: &mut veilid_capnp::signature512::Builder) {
|
||||||
let sig = &sig.bytes;
|
let sig = &sig.bytes;
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
use crate::xx::*;
|
use super::*;
|
||||||
use crate::*;
|
|
||||||
use core::convert::TryInto;
|
use core::convert::TryInto;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn decode_dial_info(reader: &veilid_capnp::dial_info::Reader) -> Result<DialInfo, RPCError> {
|
pub fn decode_dial_info(reader: &veilid_capnp::dial_info::Reader) -> Result<DialInfo, RPCError> {
|
||||||
match reader
|
match reader
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
|
|
||||||
pub fn encode_dial_info_class(dial_info_class: DialInfoClass) -> veilid_capnp::DialInfoClass {
|
pub fn encode_dial_info_class(dial_info_class: DialInfoClass) -> veilid_capnp::DialInfoClass {
|
||||||
match dial_info_class {
|
match dial_info_class {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_dial_info_detail(
|
pub fn encode_dial_info_detail(
|
||||||
dial_info_detail: &DialInfoDetail,
|
dial_info_detail: &DialInfoDetail,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
|
|
||||||
pub fn encode_network_class(network_class: NetworkClass) -> veilid_capnp::NetworkClass {
|
pub fn encode_network_class(network_class: NetworkClass) -> veilid_capnp::NetworkClass {
|
||||||
match network_class {
|
match network_class {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_node_info(
|
pub fn encode_node_info(
|
||||||
node_info: &NodeInfo,
|
node_info: &NodeInfo,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_public_internet_node_status(
|
pub fn encode_public_internet_node_status(
|
||||||
public_internet_node_status: &PublicInternetNodeStatus,
|
public_internet_node_status: &PublicInternetNodeStatus,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_nonce(nonce: &Nonce, builder: &mut veilid_capnp::nonce24::Builder) {
|
pub fn encode_nonce(nonce: &Nonce, builder: &mut veilid_capnp::nonce24::Builder) {
|
||||||
builder.set_u0(u64::from_be_bytes(
|
builder.set_u0(u64::from_be_bytes(
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::*;
|
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCAnswer {
|
pub struct RPCAnswer {
|
||||||
|
@ -45,3 +45,5 @@ pub use operation_watch_value::*;
|
|||||||
pub use question::*;
|
pub use question::*;
|
||||||
pub use respond_to::*;
|
pub use respond_to::*;
|
||||||
pub use statement::*;
|
pub use statement::*;
|
||||||
|
|
||||||
|
use super::*;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub enum RPCOperationKind {
|
pub enum RPCOperationKind {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationAppCallQ {
|
pub struct RPCOperationAppCallQ {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationAppMessage {
|
pub struct RPCOperationAppMessage {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationCancelTunnelQ {
|
pub struct RPCOperationCancelTunnelQ {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationCompleteTunnelQ {
|
pub struct RPCOperationCompleteTunnelQ {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationFindBlockQ {
|
pub struct RPCOperationFindBlockQ {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationFindNodeQ {
|
pub struct RPCOperationFindNodeQ {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationGetValueQ {
|
pub struct RPCOperationGetValueQ {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationNodeInfoUpdate {
|
pub struct RPCOperationNodeInfoUpdate {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationReturnReceipt {
|
pub struct RPCOperationReturnReceipt {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RoutedOperation {
|
pub struct RoutedOperation {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationSetValueQ {
|
pub struct RPCOperationSetValueQ {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationSignal {
|
pub struct RPCOperationSignal {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationStartTunnelQ {
|
pub struct RPCOperationStartTunnelQ {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationStatusQ {
|
pub struct RPCOperationStatusQ {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationSupplyBlockQ {
|
pub struct RPCOperationSupplyBlockQ {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationValidateDialInfo {
|
pub struct RPCOperationValidateDialInfo {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationValueChanged {
|
pub struct RPCOperationValueChanged {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCOperationWatchValueQ {
|
pub struct RPCOperationWatchValueQ {
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::*;
|
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCQuestion {
|
pub struct RPCQuestion {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub enum RespondTo {
|
pub enum RespondTo {
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::*;
|
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct RPCStatement {
|
pub struct RPCStatement {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_peer_info(
|
pub fn encode_peer_info(
|
||||||
peer_info: &PeerInfo,
|
peer_info: &PeerInfo,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_protocol_type_set(
|
pub fn encode_protocol_type_set(
|
||||||
protocol_type_set: &ProtocolTypeSet,
|
protocol_type_set: &ProtocolTypeSet,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_sender_info(
|
pub fn encode_sender_info(
|
||||||
sender_info: &SenderInfo,
|
sender_info: &SenderInfo,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_signal_info(
|
pub fn encode_signal_info(
|
||||||
signal_info: &SignalInfo,
|
signal_info: &SignalInfo,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_signed_direct_node_info(
|
pub fn encode_signed_direct_node_info(
|
||||||
signed_direct_node_info: &SignedDirectNodeInfo,
|
signed_direct_node_info: &SignedDirectNodeInfo,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_signed_node_info(
|
pub fn encode_signed_node_info(
|
||||||
signed_node_info: &SignedNodeInfo,
|
signed_node_info: &SignedNodeInfo,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_signed_relayed_node_info(
|
pub fn encode_signed_relayed_node_info(
|
||||||
signed_relayed_node_info: &SignedRelayedNodeInfo,
|
signed_relayed_node_info: &SignedRelayedNodeInfo,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_socket_address(
|
pub fn encode_socket_address(
|
||||||
socket_address: &SocketAddress,
|
socket_address: &SocketAddress,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_tunnel_mode(tunnel_mode: TunnelMode) -> veilid_capnp::TunnelEndpointMode {
|
pub fn encode_tunnel_mode(tunnel_mode: TunnelMode) -> veilid_capnp::TunnelEndpointMode {
|
||||||
match tunnel_mode {
|
match tunnel_mode {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_value_data(
|
pub fn encode_value_data(
|
||||||
value_data: &ValueData,
|
value_data: &ValueData,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
use crate::*;
|
use super::*;
|
||||||
use rpc_processor::*;
|
|
||||||
|
|
||||||
pub fn encode_value_key(
|
pub fn encode_value_key(
|
||||||
value_key: &ValueKey,
|
value_key: &ValueKey,
|
||||||
|
@ -4,8 +4,3 @@ pub mod test_protected_store;
|
|||||||
pub mod test_table_store;
|
pub mod test_table_store;
|
||||||
pub mod test_veilid_config;
|
pub mod test_veilid_config;
|
||||||
pub mod test_veilid_core;
|
pub mod test_veilid_core;
|
||||||
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
pub use crypto::tests::*;
|
|
||||||
pub use network_manager::tests::*;
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
pub mod common;
|
pub mod common;
|
||||||
#[cfg(not(target_arch = "wasm32"))]
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
mod native;
|
mod native;
|
||||||
|
|
||||||
use super::*;
|
|
||||||
|
@ -3,10 +3,11 @@
|
|||||||
|
|
||||||
mod test_async_peek_stream;
|
mod test_async_peek_stream;
|
||||||
|
|
||||||
|
use crate::xx::*;
|
||||||
|
|
||||||
use crate::crypto::tests::*;
|
use crate::crypto::tests::*;
|
||||||
use crate::network_manager::tests::*;
|
use crate::network_manager::tests::*;
|
||||||
use crate::tests::common::*;
|
use crate::tests::common::*;
|
||||||
use crate::xx::*;
|
|
||||||
|
|
||||||
#[cfg(all(target_os = "android", feature = "android_tests"))]
|
#[cfg(all(target_os = "android", feature = "android_tests"))]
|
||||||
use jni::{objects::JClass, objects::JObject, JNIEnv};
|
use jni::{objects::JClass, objects::JObject, JNIEnv};
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
use super::*;
|
use crate::xx::*;
|
||||||
|
|
||||||
cfg_if! {
|
cfg_if! {
|
||||||
if #[cfg(feature="rt-async-std")] {
|
if #[cfg(feature="rt-async-std")] {
|
||||||
|
284
veilid-core/src/veilid_api/api.rs
Normal file
284
veilid-core/src/veilid_api/api.rs
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
use super::*;
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
struct VeilidAPIInner {
|
||||||
|
context: Option<VeilidCoreContext>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl fmt::Debug for VeilidAPIInner {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
|
write!(f, "VeilidAPIInner")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Drop for VeilidAPIInner {
|
||||||
|
fn drop(&mut self) {
|
||||||
|
if let Some(context) = self.context.take() {
|
||||||
|
intf::spawn_detached(api_shutdown(context));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct VeilidAPI {
|
||||||
|
inner: Arc<Mutex<VeilidAPIInner>>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl VeilidAPI {
|
||||||
|
#[instrument(skip_all)]
|
||||||
|
pub(crate) fn new(context: VeilidCoreContext) -> Self {
|
||||||
|
Self {
|
||||||
|
inner: Arc::new(Mutex::new(VeilidAPIInner {
|
||||||
|
context: Some(context),
|
||||||
|
})),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[instrument(skip_all)]
|
||||||
|
pub async fn shutdown(self) {
|
||||||
|
let context = { self.inner.lock().context.take() };
|
||||||
|
if let Some(context) = context {
|
||||||
|
api_shutdown(context).await;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn is_shutdown(&self) -> bool {
|
||||||
|
self.inner.lock().context.is_none()
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// Accessors
|
||||||
|
pub fn config(&self) -> Result<VeilidConfig, VeilidAPIError> {
|
||||||
|
let inner = self.inner.lock();
|
||||||
|
if let Some(context) = &inner.context {
|
||||||
|
return Ok(context.config.clone());
|
||||||
|
}
|
||||||
|
Err(VeilidAPIError::NotInitialized)
|
||||||
|
}
|
||||||
|
pub fn crypto(&self) -> Result<Crypto, VeilidAPIError> {
|
||||||
|
let inner = self.inner.lock();
|
||||||
|
if let Some(context) = &inner.context {
|
||||||
|
return Ok(context.crypto.clone());
|
||||||
|
}
|
||||||
|
Err(VeilidAPIError::NotInitialized)
|
||||||
|
}
|
||||||
|
pub fn table_store(&self) -> Result<TableStore, VeilidAPIError> {
|
||||||
|
let inner = self.inner.lock();
|
||||||
|
if let Some(context) = &inner.context {
|
||||||
|
return Ok(context.table_store.clone());
|
||||||
|
}
|
||||||
|
Err(VeilidAPIError::not_initialized())
|
||||||
|
}
|
||||||
|
pub fn block_store(&self) -> Result<BlockStore, VeilidAPIError> {
|
||||||
|
let inner = self.inner.lock();
|
||||||
|
if let Some(context) = &inner.context {
|
||||||
|
return Ok(context.block_store.clone());
|
||||||
|
}
|
||||||
|
Err(VeilidAPIError::not_initialized())
|
||||||
|
}
|
||||||
|
pub fn protected_store(&self) -> Result<ProtectedStore, VeilidAPIError> {
|
||||||
|
let inner = self.inner.lock();
|
||||||
|
if let Some(context) = &inner.context {
|
||||||
|
return Ok(context.protected_store.clone());
|
||||||
|
}
|
||||||
|
Err(VeilidAPIError::not_initialized())
|
||||||
|
}
|
||||||
|
pub fn attachment_manager(&self) -> Result<AttachmentManager, VeilidAPIError> {
|
||||||
|
let inner = self.inner.lock();
|
||||||
|
if let Some(context) = &inner.context {
|
||||||
|
return Ok(context.attachment_manager.clone());
|
||||||
|
}
|
||||||
|
Err(VeilidAPIError::not_initialized())
|
||||||
|
}
|
||||||
|
pub fn network_manager(&self) -> Result<NetworkManager, VeilidAPIError> {
|
||||||
|
let inner = self.inner.lock();
|
||||||
|
if let Some(context) = &inner.context {
|
||||||
|
return Ok(context.attachment_manager.network_manager());
|
||||||
|
}
|
||||||
|
Err(VeilidAPIError::not_initialized())
|
||||||
|
}
|
||||||
|
pub fn rpc_processor(&self) -> Result<RPCProcessor, VeilidAPIError> {
|
||||||
|
let inner = self.inner.lock();
|
||||||
|
if let Some(context) = &inner.context {
|
||||||
|
return Ok(context.attachment_manager.network_manager().rpc_processor());
|
||||||
|
}
|
||||||
|
Err(VeilidAPIError::NotInitialized)
|
||||||
|
}
|
||||||
|
pub fn routing_table(&self) -> Result<RoutingTable, VeilidAPIError> {
|
||||||
|
let inner = self.inner.lock();
|
||||||
|
if let Some(context) = &inner.context {
|
||||||
|
return Ok(context.attachment_manager.network_manager().routing_table());
|
||||||
|
}
|
||||||
|
Err(VeilidAPIError::NotInitialized)
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// Attach/Detach
|
||||||
|
|
||||||
|
// get a full copy of the current state
|
||||||
|
pub async fn get_state(&self) -> Result<VeilidState, VeilidAPIError> {
|
||||||
|
let attachment_manager = self.attachment_manager()?;
|
||||||
|
let network_manager = attachment_manager.network_manager();
|
||||||
|
let config = self.config()?;
|
||||||
|
|
||||||
|
let attachment = attachment_manager.get_veilid_state();
|
||||||
|
let network = network_manager.get_veilid_state();
|
||||||
|
let config = config.get_veilid_state();
|
||||||
|
|
||||||
|
Ok(VeilidState {
|
||||||
|
attachment,
|
||||||
|
network,
|
||||||
|
config,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// get network connectedness
|
||||||
|
|
||||||
|
// connect to the network
|
||||||
|
#[instrument(level = "debug", err, skip_all)]
|
||||||
|
pub async fn attach(&self) -> Result<(), VeilidAPIError> {
|
||||||
|
let attachment_manager = self.attachment_manager()?;
|
||||||
|
attachment_manager
|
||||||
|
.request_attach()
|
||||||
|
.await
|
||||||
|
.map_err(|e| VeilidAPIError::internal(e))
|
||||||
|
}
|
||||||
|
|
||||||
|
// disconnect from the network
|
||||||
|
#[instrument(level = "debug", err, skip_all)]
|
||||||
|
pub async fn detach(&self) -> Result<(), VeilidAPIError> {
|
||||||
|
let attachment_manager = self.attachment_manager()?;
|
||||||
|
attachment_manager
|
||||||
|
.request_detach()
|
||||||
|
.await
|
||||||
|
.map_err(|e| VeilidAPIError::internal(e))
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// Routing Context
|
||||||
|
|
||||||
|
#[instrument(level = "debug", skip(self))]
|
||||||
|
pub fn routing_context(&self) -> RoutingContext {
|
||||||
|
RoutingContext::new(self.clone())
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// Private route allocation
|
||||||
|
|
||||||
|
#[instrument(level = "debug", skip(self))]
|
||||||
|
pub async fn new_private_route(&self) -> Result<(DHTKey, Vec<u8>), VeilidAPIError> {
|
||||||
|
self.new_custom_private_route(Stability::default(), Sequencing::default())
|
||||||
|
.await
|
||||||
|
}
|
||||||
|
|
||||||
|
#[instrument(level = "debug", skip(self))]
|
||||||
|
pub async fn new_custom_private_route(
|
||||||
|
&self,
|
||||||
|
stability: Stability,
|
||||||
|
sequencing: Sequencing,
|
||||||
|
) -> Result<(DHTKey, Vec<u8>), VeilidAPIError> {
|
||||||
|
let default_route_hop_count: usize = {
|
||||||
|
let config = self.config()?;
|
||||||
|
let c = config.get();
|
||||||
|
c.network.rpc.default_route_hop_count.into()
|
||||||
|
};
|
||||||
|
|
||||||
|
let rss = self.routing_table()?.route_spec_store();
|
||||||
|
let r = rss
|
||||||
|
.allocate_route(
|
||||||
|
stability,
|
||||||
|
sequencing,
|
||||||
|
default_route_hop_count,
|
||||||
|
Direction::Inbound.into(),
|
||||||
|
&[],
|
||||||
|
)
|
||||||
|
.map_err(VeilidAPIError::internal)?;
|
||||||
|
let Some(pr_pubkey) = r else {
|
||||||
|
apibail_generic!("unable to allocate route");
|
||||||
|
};
|
||||||
|
if !rss
|
||||||
|
.test_route(&pr_pubkey)
|
||||||
|
.await
|
||||||
|
.map_err(VeilidAPIError::no_connection)?
|
||||||
|
{
|
||||||
|
rss.release_route(&pr_pubkey);
|
||||||
|
apibail_generic!("allocated route failed to test");
|
||||||
|
}
|
||||||
|
let private_route = rss
|
||||||
|
.assemble_private_route(&pr_pubkey, Some(true))
|
||||||
|
.map_err(VeilidAPIError::generic)?;
|
||||||
|
let blob = match RouteSpecStore::private_route_to_blob(&private_route) {
|
||||||
|
Ok(v) => v,
|
||||||
|
Err(e) => {
|
||||||
|
rss.release_route(&pr_pubkey);
|
||||||
|
apibail_internal!(e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
rss.mark_route_published(&pr_pubkey, true)
|
||||||
|
.map_err(VeilidAPIError::internal)?;
|
||||||
|
|
||||||
|
Ok((pr_pubkey, blob))
|
||||||
|
}
|
||||||
|
|
||||||
|
#[instrument(level = "debug", skip(self))]
|
||||||
|
pub fn import_remote_private_route(&self, blob: Vec<u8>) -> Result<DHTKey, VeilidAPIError> {
|
||||||
|
let rss = self.routing_table()?.route_spec_store();
|
||||||
|
rss.import_remote_private_route(blob)
|
||||||
|
.map_err(|e| VeilidAPIError::invalid_argument(e, "blob", "private route blob"))
|
||||||
|
}
|
||||||
|
|
||||||
|
#[instrument(level = "debug", skip(self))]
|
||||||
|
pub fn release_private_route(&self, key: &DHTKey) -> Result<(), VeilidAPIError> {
|
||||||
|
let rss = self.routing_table()?.route_spec_store();
|
||||||
|
if rss.release_route(key) {
|
||||||
|
Ok(())
|
||||||
|
} else {
|
||||||
|
Err(VeilidAPIError::invalid_argument(
|
||||||
|
"release_private_route",
|
||||||
|
"key",
|
||||||
|
key,
|
||||||
|
))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// App Calls
|
||||||
|
|
||||||
|
#[instrument(level = "debug", skip(self))]
|
||||||
|
pub async fn app_call_reply(&self, id: u64, message: Vec<u8>) -> Result<(), VeilidAPIError> {
|
||||||
|
let rpc_processor = self.rpc_processor()?;
|
||||||
|
rpc_processor
|
||||||
|
.app_call_reply(id, message)
|
||||||
|
.await
|
||||||
|
.map_err(|e| e.into())
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// Tunnel Building
|
||||||
|
|
||||||
|
#[instrument(level = "debug", err, skip(self))]
|
||||||
|
pub async fn start_tunnel(
|
||||||
|
&self,
|
||||||
|
_endpoint_mode: TunnelMode,
|
||||||
|
_depth: u8,
|
||||||
|
) -> Result<PartialTunnel, VeilidAPIError> {
|
||||||
|
panic!("unimplemented");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[instrument(level = "debug", err, skip(self))]
|
||||||
|
pub async fn complete_tunnel(
|
||||||
|
&self,
|
||||||
|
_endpoint_mode: TunnelMode,
|
||||||
|
_depth: u8,
|
||||||
|
_partial_tunnel: PartialTunnel,
|
||||||
|
) -> Result<FullTunnel, VeilidAPIError> {
|
||||||
|
panic!("unimplemented");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[instrument(level = "debug", err, skip(self))]
|
||||||
|
pub async fn cancel_tunnel(&self, _tunnel_id: TunnelId) -> Result<bool, VeilidAPIError> {
|
||||||
|
panic!("unimplemented");
|
||||||
|
}
|
||||||
|
}
|
@ -276,15 +276,10 @@ fn get_debug_argument<T, G: FnOnce(&str) -> Option<T>>(
|
|||||||
argument: &str,
|
argument: &str,
|
||||||
getter: G,
|
getter: G,
|
||||||
) -> Result<T, VeilidAPIError> {
|
) -> Result<T, VeilidAPIError> {
|
||||||
if let Some(val) = getter(value) {
|
let Some(val) = getter(value) else {
|
||||||
Ok(val)
|
apibail_invalid_argument!(context, argument, value);
|
||||||
} else {
|
};
|
||||||
Err(VeilidAPIError::InvalidArgument {
|
Ok(val)
|
||||||
context: context.to_owned(),
|
|
||||||
argument: argument.to_owned(),
|
|
||||||
value: value.to_owned(),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
fn get_debug_argument_at<T, G: FnOnce(&str) -> Option<T>>(
|
fn get_debug_argument_at<T, G: FnOnce(&str) -> Option<T>>(
|
||||||
debug_args: &[String],
|
debug_args: &[String],
|
||||||
@ -294,21 +289,13 @@ fn get_debug_argument_at<T, G: FnOnce(&str) -> Option<T>>(
|
|||||||
getter: G,
|
getter: G,
|
||||||
) -> Result<T, VeilidAPIError> {
|
) -> Result<T, VeilidAPIError> {
|
||||||
if pos >= debug_args.len() {
|
if pos >= debug_args.len() {
|
||||||
return Err(VeilidAPIError::MissingArgument {
|
apibail_missing_argument!(context, argument);
|
||||||
context: context.to_owned(),
|
|
||||||
argument: argument.to_owned(),
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
let value = &debug_args[pos];
|
let value = &debug_args[pos];
|
||||||
if let Some(val) = getter(value) {
|
let Some(val) = getter(value) else {
|
||||||
Ok(val)
|
apibail_invalid_argument!(context, argument, value);
|
||||||
} else {
|
};
|
||||||
Err(VeilidAPIError::InvalidArgument {
|
Ok(val)
|
||||||
context: context.to_owned(),
|
|
||||||
argument: argument.to_owned(),
|
|
||||||
value: value.to_owned(),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl VeilidAPI {
|
impl VeilidAPI {
|
||||||
@ -351,11 +338,7 @@ impl VeilidAPI {
|
|||||||
} else if let Some(lim) = get_number(&arg) {
|
} else if let Some(lim) = get_number(&arg) {
|
||||||
limit = lim;
|
limit = lim;
|
||||||
} else {
|
} else {
|
||||||
return Err(VeilidAPIError::InvalidArgument {
|
apibail_invalid_argument!("debug_entries", "unknown", arg);
|
||||||
context: "debug_entries".to_owned(),
|
|
||||||
argument: "unknown".to_owned(),
|
|
||||||
value: arg,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -412,7 +395,7 @@ impl VeilidAPI {
|
|||||||
async fn debug_restart(&self, args: String) -> Result<String, VeilidAPIError> {
|
async fn debug_restart(&self, args: String) -> Result<String, VeilidAPIError> {
|
||||||
let args = args.trim_start();
|
let args = args.trim_start();
|
||||||
if args.is_empty() {
|
if args.is_empty() {
|
||||||
return Err(VeilidAPIError::missing_argument("debug_restart", "arg_0"));
|
apibail_missing_argument!("debug_restart", "arg_0");
|
||||||
}
|
}
|
||||||
let (arg, _rest) = args.split_once(' ').unwrap_or((args, ""));
|
let (arg, _rest) = args.split_once(' ').unwrap_or((args, ""));
|
||||||
// let rest = rest.trim_start().to_owned();
|
// let rest = rest.trim_start().to_owned();
|
||||||
@ -431,11 +414,7 @@ impl VeilidAPI {
|
|||||||
|
|
||||||
Ok("Network restarted".to_owned())
|
Ok("Network restarted".to_owned())
|
||||||
} else {
|
} else {
|
||||||
Err(VeilidAPIError::invalid_argument(
|
apibail_invalid_argument!("debug_restart", "arg_1", arg);
|
||||||
"debug_restart",
|
|
||||||
"arg_1",
|
|
||||||
arg,
|
|
||||||
))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -654,11 +633,7 @@ impl VeilidAPI {
|
|||||||
if full_val == "full" {
|
if full_val == "full" {
|
||||||
true
|
true
|
||||||
} else {
|
} else {
|
||||||
return Err(VeilidAPIError::invalid_argument(
|
apibail_invalid_argument!("debug_route", "full", full_val);
|
||||||
"debug_route",
|
|
||||||
"full",
|
|
||||||
full_val,
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
|
186
veilid-core/src/veilid_api/error.rs
Normal file
186
veilid-core/src/veilid_api/error.rs
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[allow(unused_macros)]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! apibail_timeout {
|
||||||
|
() => {
|
||||||
|
return Err(VeilidAPIError::timeout())
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(unused_macros)]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! apibail_generic {
|
||||||
|
($x:expr) => {
|
||||||
|
return Err(VeilidAPIError::generic($x))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(unused_macros)]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! apibail_internal {
|
||||||
|
($x:expr) => {
|
||||||
|
return Err(VeilidAPIError::internal($x))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(unused_macros)]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! apibail_parse_error {
|
||||||
|
($x:expr, $y:expr) => {
|
||||||
|
return Err(VeilidAPIError::parse_error($x, $y))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(unused_macros)]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! apibail_missing_argument {
|
||||||
|
($x:expr, $y:expr) => {
|
||||||
|
return Err(VeilidAPIError::missing_argument($x, $y))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(unused_macros)]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! apibail_invalid_argument {
|
||||||
|
($x:expr, $y:expr, $z:expr) => {
|
||||||
|
return Err(VeilidAPIError::invalid_argument($x, $y, $z))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(unused_macros)]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! apibail_no_connection {
|
||||||
|
($x:expr) => {
|
||||||
|
return Err(VeilidAPIError::no_connection($x))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(unused_macros)]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! apibail_key_not_found {
|
||||||
|
($x:expr) => {
|
||||||
|
return Err(VeilidAPIError::key_not_found($x))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(unused_macros)]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! apibail_already_initialized {
|
||||||
|
() => {
|
||||||
|
return Err(VeilidAPIError::already_initialized())
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(
|
||||||
|
ThisError,
|
||||||
|
Clone,
|
||||||
|
Debug,
|
||||||
|
PartialOrd,
|
||||||
|
PartialEq,
|
||||||
|
Eq,
|
||||||
|
Ord,
|
||||||
|
Serialize,
|
||||||
|
Deserialize,
|
||||||
|
RkyvArchive,
|
||||||
|
RkyvSerialize,
|
||||||
|
RkyvDeserialize,
|
||||||
|
)]
|
||||||
|
#[archive_attr(repr(u8), derive(CheckBytes))]
|
||||||
|
#[serde(tag = "kind")]
|
||||||
|
pub enum VeilidAPIError {
|
||||||
|
#[error("Not initialized")]
|
||||||
|
NotInitialized,
|
||||||
|
#[error("Already initialized")]
|
||||||
|
AlreadyInitialized,
|
||||||
|
#[error("Timeout")]
|
||||||
|
Timeout,
|
||||||
|
#[error("Shutdown")]
|
||||||
|
Shutdown,
|
||||||
|
#[error("Key not found: {key}")]
|
||||||
|
KeyNotFound { key: DHTKey },
|
||||||
|
#[error("No connection: {message}")]
|
||||||
|
NoConnection { message: String },
|
||||||
|
#[error("No peer info: {node_id}")]
|
||||||
|
NoPeerInfo { node_id: NodeId },
|
||||||
|
#[error("Internal: {message}")]
|
||||||
|
Internal { message: String },
|
||||||
|
#[error("Unimplemented: {message}")]
|
||||||
|
Unimplemented { message: String },
|
||||||
|
#[error("Parse error: '{message}' with value '{value}'")]
|
||||||
|
ParseError { message: String, value: String },
|
||||||
|
#[error("Invalid argument: '{argument}' for '{context}' with value '{value}'")]
|
||||||
|
InvalidArgument {
|
||||||
|
context: String,
|
||||||
|
argument: String,
|
||||||
|
value: String,
|
||||||
|
},
|
||||||
|
#[error("Missing argument: '{argument}' for '{context}'")]
|
||||||
|
MissingArgument { context: String, argument: String },
|
||||||
|
#[error("Generic: {message}")]
|
||||||
|
Generic { message: String },
|
||||||
|
}
|
||||||
|
|
||||||
|
impl VeilidAPIError {
|
||||||
|
pub fn not_initialized() -> Self {
|
||||||
|
Self::NotInitialized
|
||||||
|
}
|
||||||
|
pub fn already_initialized() -> Self {
|
||||||
|
Self::AlreadyInitialized
|
||||||
|
}
|
||||||
|
pub fn timeout() -> Self {
|
||||||
|
Self::Timeout
|
||||||
|
}
|
||||||
|
pub fn shutdown() -> Self {
|
||||||
|
Self::Shutdown
|
||||||
|
}
|
||||||
|
pub fn key_not_found(key: DHTKey) -> Self {
|
||||||
|
Self::KeyNotFound { key }
|
||||||
|
}
|
||||||
|
pub fn no_connection<T: ToString>(msg: T) -> Self {
|
||||||
|
Self::NoConnection {
|
||||||
|
message: msg.to_string(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pub fn no_peer_info(node_id: NodeId) -> Self {
|
||||||
|
Self::NoPeerInfo { node_id }
|
||||||
|
}
|
||||||
|
pub fn internal<T: ToString>(msg: T) -> Self {
|
||||||
|
Self::Internal {
|
||||||
|
message: msg.to_string(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pub fn unimplemented<T: ToString>(msg: T) -> Self {
|
||||||
|
Self::Unimplemented {
|
||||||
|
message: msg.to_string(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pub fn parse_error<T: ToString, S: ToString>(msg: T, value: S) -> Self {
|
||||||
|
Self::ParseError {
|
||||||
|
message: msg.to_string(),
|
||||||
|
value: value.to_string(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pub fn invalid_argument<T: ToString, S: ToString, R: ToString>(
|
||||||
|
context: T,
|
||||||
|
argument: S,
|
||||||
|
value: R,
|
||||||
|
) -> Self {
|
||||||
|
Self::InvalidArgument {
|
||||||
|
context: context.to_string(),
|
||||||
|
argument: argument.to_string(),
|
||||||
|
value: value.to_string(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pub fn missing_argument<T: ToString, S: ToString>(context: T, argument: S) -> Self {
|
||||||
|
Self::MissingArgument {
|
||||||
|
context: context.to_string(),
|
||||||
|
argument: argument.to_string(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pub fn generic<T: ToString>(msg: T) -> Self {
|
||||||
|
Self::Generic {
|
||||||
|
message: msg.to_string(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,5 @@
|
|||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
@ -106,7 +107,7 @@ impl RoutingContext {
|
|||||||
// Resolve node
|
// Resolve node
|
||||||
let mut nr = match rpc_processor.resolve_node(node_id.key).await {
|
let mut nr = match rpc_processor.resolve_node(node_id.key).await {
|
||||||
Ok(Some(nr)) => nr,
|
Ok(Some(nr)) => nr,
|
||||||
Ok(None) => return Err(VeilidAPIError::KeyNotFound { key: node_id.key }),
|
Ok(None) => apibail_key_not_found!(node_id.key),
|
||||||
Err(e) => return Err(e.into()),
|
Err(e) => return Err(e.into()),
|
||||||
};
|
};
|
||||||
// Apply sequencing to match safety selection
|
// Apply sequencing to match safety selection
|
||||||
@ -123,7 +124,7 @@ impl RoutingContext {
|
|||||||
let Some(private_route) = rss
|
let Some(private_route) = rss
|
||||||
.get_remote_private_route(&pr)
|
.get_remote_private_route(&pr)
|
||||||
else {
|
else {
|
||||||
return Err(VeilidAPIError::KeyNotFound { key: pr });
|
apibail_key_not_found!(pr);
|
||||||
};
|
};
|
||||||
|
|
||||||
Ok(rpc_processor::Destination::PrivateRoute {
|
Ok(rpc_processor::Destination::PrivateRoute {
|
||||||
@ -151,15 +152,13 @@ impl RoutingContext {
|
|||||||
// Send app message
|
// Send app message
|
||||||
let answer = match rpc_processor.rpc_call_app_call(dest, request).await {
|
let answer = match rpc_processor.rpc_call_app_call(dest, request).await {
|
||||||
Ok(NetworkResult::Value(v)) => v,
|
Ok(NetworkResult::Value(v)) => v,
|
||||||
Ok(NetworkResult::Timeout) => return Err(VeilidAPIError::Timeout),
|
Ok(NetworkResult::Timeout) => apibail_timeout!(),
|
||||||
Ok(NetworkResult::NoConnection(e)) | Ok(NetworkResult::AlreadyExists(e)) => {
|
Ok(NetworkResult::NoConnection(e)) | Ok(NetworkResult::AlreadyExists(e)) => {
|
||||||
return Err(VeilidAPIError::NoConnection {
|
apibail_no_connection!(e);
|
||||||
message: e.to_string(),
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(NetworkResult::InvalidMessage(message)) => {
|
Ok(NetworkResult::InvalidMessage(message)) => {
|
||||||
return Err(VeilidAPIError::Generic { message })
|
apibail_generic!(message);
|
||||||
}
|
}
|
||||||
Err(e) => return Err(e.into()),
|
Err(e) => return Err(e.into()),
|
||||||
};
|
};
|
||||||
@ -181,14 +180,12 @@ impl RoutingContext {
|
|||||||
// Send app message
|
// Send app message
|
||||||
match rpc_processor.rpc_call_app_message(dest, message).await {
|
match rpc_processor.rpc_call_app_message(dest, message).await {
|
||||||
Ok(NetworkResult::Value(())) => {}
|
Ok(NetworkResult::Value(())) => {}
|
||||||
Ok(NetworkResult::Timeout) => return Err(VeilidAPIError::Timeout),
|
Ok(NetworkResult::Timeout) => apibail_timeout!(),
|
||||||
Ok(NetworkResult::NoConnection(e)) | Ok(NetworkResult::AlreadyExists(e)) => {
|
Ok(NetworkResult::NoConnection(e)) | Ok(NetworkResult::AlreadyExists(e)) => {
|
||||||
return Err(VeilidAPIError::NoConnection {
|
apibail_no_connection!(e);
|
||||||
message: e.to_string(),
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
Ok(NetworkResult::InvalidMessage(message)) => {
|
Ok(NetworkResult::InvalidMessage(message)) => {
|
||||||
return Err(VeilidAPIError::Generic { message })
|
apibail_generic!(message);
|
||||||
}
|
}
|
||||||
Err(e) => return Err(e.into()),
|
Err(e) => return Err(e.into()),
|
||||||
};
|
};
|
||||||
|
2402
veilid-core/src/veilid_api/types.rs
Normal file
2402
veilid-core/src/veilid_api/types.rs
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user