crypto: Make the return values of add methods in the store consistent with a hashset.

master
Damir Jelić 2020-04-16 11:05:35 +02:00
parent 3a5cc833d1
commit 471d27892c
1 changed files with 10 additions and 10 deletions

View File

@ -38,8 +38,8 @@ impl SessionStore {
/// Add a session to the store. /// Add a session to the store.
/// ///
/// Returns true if the the session was already in the store, false /// Returns true if the the session was added, false if the session was
/// otherwise. /// already in the store.
pub async fn add(&mut self, session: Session) -> bool { pub async fn add(&mut self, session: Session) -> bool {
if !self.entries.contains_key(&*session.sender_key) { if !self.entries.contains_key(&*session.sender_key) {
self.entries.insert( self.entries.insert(
@ -51,9 +51,9 @@ impl SessionStore {
if !sessions.lock().await.contains(&session) { if !sessions.lock().await.contains(&session) {
sessions.lock().await.push(session); sessions.lock().await.push(session);
false
} else {
true true
} else {
false
} }
} }
@ -85,8 +85,8 @@ impl GroupSessionStore {
/// Add a inbound group session to the store. /// Add a inbound group session to the store.
/// ///
/// Returns true if the the session was already in the store, false /// Returns true if the the session was added, false if the session was
/// otherwise. /// already in the store.
pub fn add(&mut self, session: InboundGroupSession) -> bool { pub fn add(&mut self, session: InboundGroupSession) -> bool {
if !self.entries.contains_key(&session.room_id) { if !self.entries.contains_key(&session.room_id) {
let room_id = &*session.room_id; let room_id = &*session.room_id;
@ -103,7 +103,7 @@ impl GroupSessionStore {
let sender_map = room_map.get_mut(&*session.sender_key).unwrap(); let sender_map = room_map.get_mut(&*session.sender_key).unwrap();
let ret = sender_map.insert(session.session_id().to_owned(), session); let ret = sender_map.insert(session.session_id().to_owned(), session);
ret.is_some() ret.is_none()
} }
/// Get a inbound group session from our store. /// Get a inbound group session from our store.
@ -175,7 +175,7 @@ impl DeviceStore {
device_map device_map
.insert(device.device_id().to_owned(), device) .insert(device.device_id().to_owned(), device)
.is_some() .is_none()
} }
/// Get the device with the given device_id and belonging to the given user. /// Get the device with the given device_id and belonging to the given user.
@ -241,8 +241,8 @@ mod test {
let mut store = SessionStore::new(); let mut store = SessionStore::new();
assert!(!store.add(session.clone()).await);
assert!(store.add(session.clone()).await); assert!(store.add(session.clone()).await);
assert!(!store.add(session.clone()).await);
let sessions = store.get(&session.sender_key).unwrap(); let sessions = store.get(&session.sender_key).unwrap();
let sessions = sessions.lock().await; let sessions = sessions.lock().await;
@ -301,8 +301,8 @@ mod test {
let device = get_device(); let device = get_device();
let store = DeviceStore::new(); let store = DeviceStore::new();
assert!(!store.add(device.clone()));
assert!(store.add(device.clone())); assert!(store.add(device.clone()));
assert!(!store.add(device.clone()));
let loaded_device = store.get(device.user_id(), device.device_id()).unwrap(); let loaded_device = store.get(device.user_id(), device.device_id()).unwrap();