diff --git a/src/rpc_v1/proto.rs b/src/rpc_v1/proto.rs index 8c140fd..6228936 100644 --- a/src/rpc_v1/proto.rs +++ b/src/rpc_v1/proto.rs @@ -8,7 +8,7 @@ use miette::{miette, IntoDiagnostic}; use serde::de::DeserializeOwned; use serde::{Deserialize, Serialize}; use std::any::Any; -use std::collections::HashMap; +use std::collections::{BTreeMap, HashMap}; use std::fmt::Debug; use std::future; use std::future::Future; @@ -135,15 +135,15 @@ type MagRpcDecoderMapped = dyn (Fn(&'_ [u8]) -> Result) + Send + Sync + 'static; pub struct MagRpc { - listeners: HashMap>, - payload_decoders: HashMap>, + listeners: BTreeMap>, + payload_decoders: BTreeMap>, } impl MagRpc { pub fn new() -> Self { MagRpc { - listeners: HashMap::new(), - payload_decoders: HashMap::new(), + listeners: BTreeMap::new(), + payload_decoders: BTreeMap::new(), } } @@ -410,8 +410,8 @@ fn process( #[derive(Clone)] struct RpcCallDecoder { - listeners: Arc>>, - payload_decoders: Arc>>, + listeners: Arc>>, + payload_decoders: Arc>>, } impl RpcCallDecoder {