Deduplicating crate dependencies (part 1 of n) (#11606)

This fixes (partially) #11468.
The change includes:
```
arrayvec
base64
crossbeam-deque
crossbeam-epoch
crossbeam-utils
home
idna
impl-serde
keccak-hasher
lock_api
miow
num-traits
parking_lot
parking_lot_core
percent-encoding
```
This commit is contained in:
Valentin Shergin 2020-04-07 07:18:56 -07:00 committed by GitHub
parent 1cf37cca0d
commit d78565593b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 32 additions and 89 deletions

97
Cargo.lock generated
View File

@ -136,15 +136,6 @@ version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
[[package]]
name = "arrayvec"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
dependencies = [
"nodrop",
]
[[package]]
name = "arrayvec"
version = "0.5.1"
@ -765,41 +756,17 @@ dependencies = [
"itertools",
]
[[package]]
name = "crossbeam-deque"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13"
dependencies = [
"crossbeam-epoch 0.7.2",
"crossbeam-utils 0.6.6",
]
[[package]]
name = "crossbeam-deque"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
dependencies = [
"crossbeam-epoch 0.8.2",
"crossbeam-utils 0.7.2",
"crossbeam-epoch",
"crossbeam-utils",
"maybe-uninit",
]
[[package]]
name = "crossbeam-epoch"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
dependencies = [
"arrayvec 0.4.12",
"cfg-if",
"crossbeam-utils 0.6.6",
"lazy_static",
"memoffset",
"scopeguard 1.1.0",
]
[[package]]
name = "crossbeam-epoch"
version = "0.8.2"
@ -808,7 +775,7 @@ checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
dependencies = [
"autocfg 1.0.0",
"cfg-if",
"crossbeam-utils 0.7.2",
"crossbeam-utils",
"lazy_static",
"maybe-uninit",
"memoffset",
@ -822,17 +789,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db"
dependencies = [
"cfg-if",
"crossbeam-utils 0.7.2",
]
[[package]]
name = "crossbeam-utils"
version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
dependencies = [
"cfg-if",
"lazy_static",
"crossbeam-utils",
]
[[package]]
@ -945,7 +902,7 @@ version = "0.1.2"
dependencies = [
"app_dirs",
"ethereum-types",
"home 0.3.4",
"home",
"journaldb",
]
@ -1354,7 +1311,7 @@ dependencies = [
name = "ethcore-io"
version = "1.12.0"
dependencies = [
"crossbeam-deque 0.6.3",
"crossbeam-deque",
"fnv",
"futures",
"log",
@ -1421,7 +1378,7 @@ name = "ethcore-logger"
version = "1.12.0"
dependencies = [
"ansi_term",
"arrayvec 0.4.12",
"arrayvec",
"atty",
"env_logger 0.5.13",
"lazy_static",
@ -2157,16 +2114,6 @@ dependencies = [
"digest",
]
[[package]]
name = "home"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29302b90cfa76231a757a887d1e3153331a63c7f80b6c75f86366334cbe70708"
dependencies = [
"scopeguard 0.3.3",
"winapi 0.3.8",
]
[[package]]
name = "home"
version = "0.5.3"
@ -2825,7 +2772,7 @@ dependencies = [
"client-traits",
"common-types",
"criterion",
"crossbeam-utils 0.6.6",
"crossbeam-utils",
"ethabi",
"ethabi-contract",
"ethabi-derive",
@ -3072,12 +3019,6 @@ dependencies = [
"tempfile",
]
[[package]]
name = "nodrop"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
[[package]]
name = "nom"
version = "5.1.1"
@ -3411,7 +3352,7 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f66a327a200fe67c16f1d0acab2f74a2ec67c41d6202a2a98a7378df653d848d"
dependencies = [
"home 0.5.3",
"home",
]
[[package]]
@ -3516,7 +3457,7 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f509c5e67ca0605ee17dcd3f91ef41cadd685c75a298fb6261b781a5acb3f910"
dependencies = [
"arrayvec 0.5.1",
"arrayvec",
"bitvec",
"byte-slice-cast",
"serde",
@ -4223,7 +4164,7 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098"
dependencies = [
"crossbeam-deque 0.7.3",
"crossbeam-deque",
"either",
"rayon-core",
]
@ -4234,9 +4175,9 @@ version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9"
dependencies = [
"crossbeam-deque 0.7.3",
"crossbeam-deque",
"crossbeam-queue",
"crossbeam-utils 0.7.2",
"crossbeam-utils",
"lazy_static",
"num_cpus",
]
@ -4693,7 +4634,7 @@ dependencies = [
"client-traits",
"common-types",
"criterion",
"crossbeam-utils 0.6.6",
"crossbeam-utils",
"engine",
"env_logger 0.5.13",
"ethabi",
@ -5152,7 +5093,7 @@ version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
dependencies = [
"crossbeam-utils 0.7.2",
"crossbeam-utils",
"futures",
]
@ -5197,7 +5138,7 @@ version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
dependencies = [
"crossbeam-utils 0.7.2",
"crossbeam-utils",
"futures",
"lazy_static",
"log",
@ -5263,9 +5204,9 @@ version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
dependencies = [
"crossbeam-deque 0.7.3",
"crossbeam-deque",
"crossbeam-queue",
"crossbeam-utils 0.7.2",
"crossbeam-utils",
"futures",
"lazy_static",
"log",
@ -5290,7 +5231,7 @@ version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
dependencies = [
"crossbeam-utils 0.7.2",
"crossbeam-utils",
"futures",
"slab 0.4.2",
"tokio-executor",

View File

@ -15,7 +15,7 @@ required-features = ["test-helpers"]
account-state = { path = "../account-state" }
client-traits = { path = "../client-traits" }
common-types = { path = "../types" }
crossbeam-utils = "0.6"
crossbeam-utils = "0.7.2"
ethabi = "9.0.1"
ethabi-contract = "9.0.0"
ethabi-derive = "9.0.1"

View File

@ -18,7 +18,7 @@ bloom-journal = { package = "accounts-bloom", path = "../../util/bloom" }
bytes = { package = "parity-bytes", version = "0.1.0" }
client-traits = { path = "../client-traits" }
common-types = { path = "../types" }
crossbeam-utils = "0.6"
crossbeam-utils = "0.7.2"
engine = { path = "../engine" }
ethcore-db = { path = "../db" }
ethcore-io = { path = "../../util/io" }

View File

@ -13,5 +13,5 @@ lazy_static = "1.0"
regex = "1.0"
time = "0.1"
parking_lot = "0.10.0"
arrayvec = "0.4"
arrayvec = "0.5.1"
ansi_term = "0.11"

View File

@ -8,4 +8,4 @@ license = "GPL3"
ethereum-types = "0.8.0"
journaldb = { path = "../journaldb" }
app_dirs = { git = "https://github.com/paritytech/app-dirs-rs" }
home = "0.3"
home = "0.5.3"

View File

@ -10,7 +10,7 @@ edition = "2018"
[dependencies]
fnv = "1.0"
mio = { version = "0.6.19", optional = true }
crossbeam-deque = "0.6"
crossbeam-deque = "0.7.3"
parking_lot = "0.10.0"
log = "0.4"
slab = "0.4"

View File

@ -199,7 +199,8 @@ impl<Message> IoManager<Message> where Message: Send + Sync + 'static {
event_loop: &mut EventLoop<IoManager<Message>>,
handlers: Arc<RwLock<Slab<Arc<dyn IoHandler<Message>>>>>
) -> Result<(), IoError> {
let (worker, stealer) = deque::fifo();
let worker = deque::Worker::new_fifo();
let stealer = worker.stealer();
let num_workers = 4;
let work_ready_mutex = Arc::new(Mutex::new(()));
let work_ready = Arc::new(Condvar::new());

View File

@ -227,7 +227,8 @@ impl<Message> Clone for WorkTask<Message> where Message: Send + Sized {
impl<Message> IoService<Message> where Message: Send + Sync + 'static {
/// Starts IO event loop
pub fn start() -> Result<IoService<Message>, IoError> {
let (tx, rx) = deque::fifo();
let tx = deque::Worker::new_fifo();
let rx = tx.stealer();
let shared = Arc::new(Shared {
handlers: RwLock::new(Slab::with_capacity(MAX_HANDLERS)),
@ -317,8 +318,8 @@ fn do_work<Message>(shared: &Arc<Shared<Message>>, rx: deque::Stealer<WorkTask<M
match rx.steal() {
deque::Steal::Retry => continue,
deque::Steal::Empty => thread::park(),
deque::Steal::Data(WorkTask::Shutdown) => break,
deque::Steal::Data(WorkTask::UserMessage(message)) => {
deque::Steal::Success(WorkTask::Shutdown) => break,
deque::Steal::Success(WorkTask::UserMessage(message)) => {
for id in 0 .. MAX_HANDLERS {
if let Some(handler) = shared.handlers.read().get(id) {
let ctxt = IoContext { handler: id, shared: shared.clone() };
@ -326,7 +327,7 @@ fn do_work<Message>(shared: &Arc<Shared<Message>>, rx: deque::Stealer<WorkTask<M
}
}
},
deque::Steal::Data(WorkTask::TimerTrigger { handler_id, token }) => {
deque::Steal::Success(WorkTask::TimerTrigger { handler_id, token }) => {
if let Some(handler) = shared.handlers.read().get(handler_id) {
let ctxt = IoContext { handler: handler_id, shared: shared.clone() };
handler.timeout(&ctxt, token);

View File

@ -90,7 +90,7 @@ impl Worker {
while !deleting.load(AtomicOrdering::Acquire) {
match stealer.steal() {
deque::Steal::Data(work) => Worker::do_work(work, channel.clone()),
deque::Steal::Success(work) => Worker::do_work(work, channel.clone()),
deque::Steal::Retry => {},
deque::Steal::Empty => break,
}