Remove non-determinism from Peer caused by using std's HashMap

This commit is contained in:
Antonio Scandurra 2022-04-08 11:27:53 +02:00
parent 717f53e3d2
commit fae9048a2a
3 changed files with 12 additions and 7 deletions

1
Cargo.lock generated
View File

@ -4007,6 +4007,7 @@ dependencies = [
"async-tungstenite",
"base64 0.13.0",
"clock",
"collections",
"futures",
"gpui",
"log",

View File

@ -9,9 +9,13 @@ path = "src/rpc.rs"
doctest = false
[features]
test-support = ["gpui/test-support"]
test-support = ["collections/test-support", "gpui/test-support"]
[dependencies]
clock = { path = "../clock" }
collections = { path = "../collections" }
gpui = { path = "../gpui", optional = true }
util = { path = "../util" }
anyhow = "1.0"
async-lock = "2.4"
async-tungstenite = "0.16"
@ -26,14 +30,12 @@ rsa = "0.4"
serde = { version = "1", features = ["derive"] }
smol-timeout = "0.6"
zstd = "0.9"
clock = { path = "../clock" }
gpui = { path = "../gpui", optional = true }
util = { path = "../util" }
[build-dependencies]
prost-build = "0.8"
[dev-dependencies]
collections = { path = "../collections", features = ["test-support"] }
gpui = { path = "../gpui", features = ["test-support"] }
smol = "1.2.5"
tempdir = "0.3.7"

View File

@ -1,6 +1,9 @@
use super::proto::{self, AnyTypedEnvelope, EnvelopedMessage, MessageStream, RequestMessage};
use super::Connection;
use super::{
proto::{self, AnyTypedEnvelope, EnvelopedMessage, MessageStream, RequestMessage},
Connection,
};
use anyhow::{anyhow, Context, Result};
use collections::HashMap;
use futures::{channel::oneshot, stream::BoxStream, FutureExt as _, StreamExt};
use parking_lot::{Mutex, RwLock};
use postage::{
@ -10,7 +13,6 @@ use postage::{
use smol_timeout::TimeoutExt as _;
use std::sync::atomic::Ordering::SeqCst;
use std::{
collections::HashMap,
fmt,
future::Future,
marker::PhantomData,