summaryrefslogtreecommitdiff
path: root/src/session.rs
diff options
context:
space:
mode:
authorJomar Milan <jomarm@jomarm.com>2026-06-21 22:07:14 -0700
committerJomar Milan <jomarm@jomarm.com>2026-06-21 22:26:33 -0700
commit9c50777d53cacb96b211d1afb54f801a88dc07f5 (patch)
tree9a1bf92ed22e6937e5a856d4620bf3704bcdb0fb /src/session.rs
parent617a0b8338e61b1a3625f0cc7fa4f543cb23d701 (diff)
Privatize access to internal session map
This way, RwLockReadGuard isn't being juggled anywhere, and the bounds of the session MutexGuard is limited to the FnOnce explicitly passed to with_session (less room for accidents, nice!) This approach was inspired by the source code of RegionMap of Bamboo (https://gitlab.com/macmv/bamboo ref 8e32b54a5e7a69986339fea465d4afcc20425dd7), which uses a similar RwLock<HashMap<_, Mutex<_>>>. I like this approach because it allows me to provide access to the Session without having to clone it and allows the MutexGuard and RwLockReadGuard to be held as the user needs without allowing the user to access the RwLockReadGuard and poke around the rest of the entries in the HashMap.
Diffstat (limited to 'src/session.rs')
-rw-r--r--src/session.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/session.rs b/src/session.rs
index f4c8fe3..c15bfda 100644
--- a/src/session.rs
+++ b/src/session.rs
@@ -50,7 +50,7 @@ pub struct CustomDeck {
///
/// See [Player Colors](https://api.tabletopsimulator.com/player/colors/) from the Tabletop
/// Simulator API knowledge base.
-#[derive(Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
+#[derive(Debug, Clone, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum PlayerColor {
White,
Brown,