Use "id" nomenclature more consistently

This commit is contained in:
Antonio Scandurra 2022-12-15 10:15:59 +01:00
parent af77f1188a
commit 688f179256
8 changed files with 127 additions and 94 deletions

View file

@ -7,7 +7,7 @@ macro_rules! messages {
Some(Box::new(TypedEnvelope {
sender_id,
original_sender_id: envelope.original_sender_id.map(|original_sender| PeerId {
epoch: original_sender.epoch,
owner_id: original_sender.owner_id,
id: original_sender.id
}),
message_id: envelope.id,

View file

@ -25,14 +25,14 @@ use tracing::instrument;
#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize)]
pub struct ConnectionId {
pub epoch: u32,
pub owner_id: u32,
pub id: u32,
}
impl Into<PeerId> for ConnectionId {
fn into(self) -> PeerId {
PeerId {
epoch: self.epoch,
owner_id: self.owner_id,
id: self.id,
}
}
@ -41,7 +41,7 @@ impl Into<PeerId> for ConnectionId {
impl From<PeerId> for ConnectionId {
fn from(peer_id: PeerId) -> Self {
Self {
epoch: peer_id.epoch,
owner_id: peer_id.owner_id,
id: peer_id.id,
}
}
@ -49,7 +49,7 @@ impl From<PeerId> for ConnectionId {
impl fmt::Display for ConnectionId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}/{}", self.epoch, self.id)
write!(f, "{}/{}", self.owner_id, self.id)
}
}
@ -157,7 +157,7 @@ impl Peer {
let (outgoing_tx, mut outgoing_rx) = mpsc::unbounded();
let connection_id = ConnectionId {
epoch: self.epoch.load(SeqCst),
owner_id: self.epoch.load(SeqCst),
id: self.next_connection_id.fetch_add(1, SeqCst),
};
let connection_state = ConnectionState {

View file

@ -78,13 +78,13 @@ impl<T: EnvelopedMessage> AnyTypedEnvelope for TypedEnvelope<T> {
impl PeerId {
pub fn from_u64(peer_id: u64) -> Self {
let epoch = (peer_id >> 32) as u32;
let owner_id = (peer_id >> 32) as u32;
let id = peer_id as u32;
Self { epoch, id }
Self { owner_id, id }
}
pub fn as_u64(self) -> u64 {
((self.epoch as u64) << 32) | (self.id as u64)
((self.owner_id as u64) << 32) | (self.id as u64)
}
}
@ -94,8 +94,8 @@ impl Eq for PeerId {}
impl Ord for PeerId {
fn cmp(&self, other: &Self) -> cmp::Ordering {
self.epoch
.cmp(&other.epoch)
self.owner_id
.cmp(&other.owner_id)
.then_with(|| self.id.cmp(&other.id))
}
}
@ -108,14 +108,14 @@ impl PartialOrd for PeerId {
impl std::hash::Hash for PeerId {
fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
self.epoch.hash(state);
self.owner_id.hash(state);
self.id.hash(state);
}
}
impl fmt::Display for PeerId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}/{}", self.epoch, self.id)
write!(f, "{}/{}", self.owner_id, self.id)
}
}
@ -124,7 +124,7 @@ impl FromStr for PeerId {
fn from_str(s: &str) -> Result<Self, Self::Err> {
let mut components = s.split('/');
let epoch = components
let owner_id = components
.next()
.ok_or_else(|| anyhow!("invalid peer id {:?}", s))?
.parse()?;
@ -132,7 +132,7 @@ impl FromStr for PeerId {
.next()
.ok_or_else(|| anyhow!("invalid peer id {:?}", s))?
.parse()?;
Ok(PeerId { epoch, id })
Ok(PeerId { owner_id, id })
}
}
@ -542,20 +542,23 @@ mod tests {
#[gpui::test]
fn test_converting_peer_id_from_and_to_u64() {
let peer_id = PeerId { epoch: 10, id: 3 };
assert_eq!(PeerId::from_u64(peer_id.as_u64()), peer_id);
let peer_id = PeerId {
epoch: u32::MAX,
owner_id: 10,
id: 3,
};
assert_eq!(PeerId::from_u64(peer_id.as_u64()), peer_id);
let peer_id = PeerId {
epoch: 10,
owner_id: u32::MAX,
id: 3,
};
assert_eq!(PeerId::from_u64(peer_id.as_u64()), peer_id);
let peer_id = PeerId {
owner_id: 10,
id: u32::MAX,
};
assert_eq!(PeerId::from_u64(peer_id.as_u64()), peer_id);
let peer_id = PeerId {
epoch: u32::MAX,
owner_id: u32::MAX,
id: u32::MAX,
};
assert_eq!(PeerId::from_u64(peer_id.as_u64()), peer_id);