From a535a3665067ef63be6e9788e0e8889b2eac97b7 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Mon, 12 Jun 2023 09:01:08 -0400 Subject: [PATCH] Ord for StorageIndex, Verifier, Reader, Writer --- src/Tahoe/SDMF/Internal/Capability.hs | 9 +++++++++ src/Tahoe/SDMF/Internal/Keys.hs | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Tahoe/SDMF/Internal/Capability.hs b/src/Tahoe/SDMF/Internal/Capability.hs index 0e6249b..cf6bf7c 100644 --- a/src/Tahoe/SDMF/Internal/Capability.hs +++ b/src/Tahoe/SDMF/Internal/Capability.hs @@ -53,6 +53,9 @@ data Verifier = Verifier } deriving (Eq, Show) +instance Ord Verifier where + a <= b = (verifierStorageIndex a <= verifierStorageIndex b) + instance ConfidentialShowable Verifier where confidentiallyShow = dangerRealShow . SDMFVerifier @@ -63,6 +66,9 @@ data Reader = Reader } deriving (Eq, Show) +instance Ord Reader where + a <= b = (readerVerifier a <= readerVerifier b) + instance ConfidentialShowable Reader where confidentiallyShow = dangerRealShow . SDMFReader @@ -73,6 +79,9 @@ data Writer = Writer } deriving (Eq, Show) +instance Ord Writer where + a <= b = (writerReader a <= writerReader b) + instance ConfidentialShowable Writer where confidentiallyShow = dangerRealShow . SDMFWriter diff --git a/src/Tahoe/SDMF/Internal/Keys.hs b/src/Tahoe/SDMF/Internal/Keys.hs index fbe3068..db8d71d 100644 --- a/src/Tahoe/SDMF/Internal/Keys.hs +++ b/src/Tahoe/SDMF/Internal/Keys.hs @@ -86,7 +86,7 @@ instance Binary Read where let (CryptoPassed unRead) = cipherInit readKeyBytes pure Read{..} -newtype StorageIndex = StorageIndex {unStorageIndex :: B.ByteString} deriving newtype (Eq) +newtype StorageIndex = StorageIndex {unStorageIndex :: B.ByteString} deriving newtype (Eq, Ord) instance Show StorageIndex where show (StorageIndex si) = -- GitLab