use btrees for these for easier testing

This commit is contained in:
jake 2020-05-27 21:51:24 -06:00
parent e657800a22
commit cde9b8ebb6
4 changed files with 14 additions and 14 deletions

View File

@ -7,11 +7,11 @@ use libpso::character::guildcard;
pub const USERFLAG_NEWCHAR: u32 = 0x00000001; pub const USERFLAG_NEWCHAR: u32 = 0x00000001;
pub const USERFLAG_DRESSINGROOM: u32 = 0x00000002; pub const USERFLAG_DRESSINGROOM: u32 = 0x00000002;
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq)] #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, PartialOrd, Ord)]
pub struct UserAccountId(pub u32); pub struct UserAccountId(pub u32);
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq)] #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, PartialOrd, Ord)]
pub struct UserSettingsId(pub u32); pub struct UserSettingsId(pub u32);
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq)] #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, PartialOrd, Ord)]
pub struct GuildCardDataId(pub u32); pub struct GuildCardDataId(pub u32);

View File

@ -226,7 +226,7 @@ impl CharacterTechMenu {
} }
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, PartialOrd, Ord)]
pub struct CharacterEntityId(pub u32); pub struct CharacterEntityId(pub u32);
#[derive(Clone)] #[derive(Clone)]

View File

@ -1,4 +1,4 @@
use std::collections::HashMap; use std::collections::BTreeMap;
use crate::entity::account::*; use crate::entity::account::*;
use crate::entity::character::*; use crate::entity::character::*;
@ -9,19 +9,19 @@ use std::sync::{Arc, Mutex};
#[derive(Clone)] #[derive(Clone)]
pub struct InMemoryGateway { pub struct InMemoryGateway {
users: Arc<Mutex<HashMap<UserAccountId, UserAccountEntity>>>, users: Arc<Mutex<BTreeMap<UserAccountId, UserAccountEntity>>>,
user_settings: Arc<Mutex<HashMap<UserSettingsId, UserSettingsEntity>>>, user_settings: Arc<Mutex<BTreeMap<UserSettingsId, UserSettingsEntity>>>,
characters: Arc<Mutex<HashMap<CharacterEntityId, CharacterEntity>>>, characters: Arc<Mutex<BTreeMap<CharacterEntityId, CharacterEntity>>>,
items: Arc<Mutex<HashMap<ItemEntityId, ItemEntity>>>, items: Arc<Mutex<BTreeMap<ItemEntityId, ItemEntity>>>,
} }
impl InMemoryGateway { impl InMemoryGateway {
pub fn new() -> InMemoryGateway { pub fn new() -> InMemoryGateway {
InMemoryGateway { InMemoryGateway {
users: Arc::new(Mutex::new(HashMap::new())), users: Arc::new(Mutex::new(BTreeMap::new())),
user_settings: Arc::new(Mutex::new(HashMap::new())), user_settings: Arc::new(Mutex::new(BTreeMap::new())),
characters: Arc::new(Mutex::new(HashMap::new())), characters: Arc::new(Mutex::new(BTreeMap::new())),
items: Arc::new(Mutex::new(HashMap::new())), items: Arc::new(Mutex::new(BTreeMap::new())),
} }
} }
} }

View File

@ -11,7 +11,7 @@ use crate::entity::character::CharacterEntityId;
use crate::ship::map::MapArea; use crate::ship::map::MapArea;
use crate::ship::drops::ItemDropType; use crate::ship::drops::ItemDropType;
#[derive(PartialEq, Copy, Clone, Debug, Hash, Eq)] #[derive(PartialEq, Copy, Clone, Debug, Hash, Eq, PartialOrd, Ord)]
pub struct ItemEntityId(pub u32); pub struct ItemEntityId(pub u32);
#[derive(Hash, PartialEq, Eq, Debug, Clone)] #[derive(Hash, PartialEq, Eq, Debug, Clone)]
pub struct ItemId(u32); pub struct ItemId(u32);