summaryrefslogtreecommitdiffhomepage
path: root/Types.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Types.hs')
-rw-r--r--Types.hs14
1 files changed, 11 insertions, 3 deletions
diff --git a/Types.hs b/Types.hs
index 233a7de..8f00793 100644
--- a/Types.hs
+++ b/Types.hs
@@ -65,6 +65,9 @@ instance DataSize a => DataSize (Message a) where
data Activity a = Activity
{ activity :: a
, prevActivity :: Maybe Hash
+ -- ^ Pointer to previous activity Seen/Entered
+ , prevEntered :: Maybe Hash
+ -- ^ Pointer to previous activity Entered
, elapsedTime :: ElapsedTime
, activitySignature :: Signature
}
@@ -92,8 +95,12 @@ instance DataSize Control where
+ dataSize (controlSignature c)
data ControlAction
- = Rejected (Activity Entered)
- -- ^ sent by user to indicate when an Entered value was rejected.
+ = EnteredRejected
+ { enteredRejected :: Hash
+ -- ^ Entered value that was rejected.
+ , enteredLastAccepted :: Maybe Hash
+ -- ^ The last Entered value that was accepted.
+ }
| SessionKey (PerhapsSigned PublicKey)
-- ^ sent by user at start, and later by developer,
-- to indicate their session key
@@ -108,7 +115,8 @@ data ControlAction
type SenderName = Val
instance DataSize ControlAction where
- dataSize (Rejected a) = dataSize a
+ dataSize (EnteredRejected h1 h2) = dataSize h1 +
+ maybe 0 dataSize h2
dataSize (SessionKey k) = dataSize k
dataSize (SessionKeyAccepted k) = dataSize k
dataSize (SessionKeyRejected k) = dataSize k