summaryrefslogtreecommitdiffhomepage
path: root/Types.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Types.hs')
-rw-r--r--Types.hs11
1 files changed, 8 insertions, 3 deletions
diff --git a/Types.hs b/Types.hs
index 79ce289..ce986c7 100644
--- a/Types.hs
+++ b/Types.hs
@@ -3,7 +3,7 @@
- Licensed under the GNU AGPL version 3 or higher.
-}
-{-# LANGUAGE DeriveGeneric, FlexibleInstances, FlexibleContexts #-}
+{-# LANGUAGE DeriveGeneric, FlexibleInstances, FlexibleContexts, OverloadedStrings #-}
{- | Main types for debug-me
-
@@ -101,7 +101,7 @@ data ControlAction
, enteredLastAccepted :: Maybe Hash
-- ^ The last Entered value that was accepted.
}
- | SessionKey (PerhapsSigned PublicKey)
+ | SessionKey (PerhapsSigned PublicKey) ProtocolVersion
-- ^ sent by user at start, and later by developer,
-- to indicate their session key
| SessionKeyAccepted PublicKey
@@ -112,12 +112,17 @@ data ControlAction
-- ^ sent by user or developer at any time
deriving (Show, Generic)
+type ProtocolVersion = Val
+
+currentProtocolVersion :: ProtocolVersion
+currentProtocolVersion = Val "1"
+
type SenderName = Val
instance DataSize ControlAction where
dataSize (EnteredRejected h1 h2) = dataSize h1 +
maybe 0 dataSize h2
- dataSize (SessionKey k) = dataSize k
+ dataSize (SessionKey k v) = dataSize k + dataSize v
dataSize (SessionKeyAccepted k) = dataSize k
dataSize (SessionKeyRejected k) = dataSize k
dataSize (ChatMessage s m) = dataSize s + dataSize m