Group chat messages #
Messages are modelled after CBOR decoding. See "Group chat message types" and "Numbers and IntroducedAt wire format" in the group chat spec.
A member's identity: the public key its read cap begins with.
Instances For
A box: its 104-byte MessageBoxIndex.
Instances For
The most entries a roster holds: roster indexes are one byte.
Instances For
How much of a member's key a Numbers field names it by.
Instances For
Equations
Instances For
The index a read cap starts at.
Equations
Instances For
The BACAP Idx64 of index: its first 8 bytes, little-endian.
Equations
- Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.counter index = List.foldr (fun (b : UInt8) (n : Nat) => b.toNat + 256 * n) 0 (ByteArray.extract index 0 8).toList
Instances For
Lexicographic order on bytes, a proper prefix first.
Equations
- Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.bytesLt [] [] = false
- Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.bytesLt [] (head :: tail) = true
- Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.bytesLt (head :: tail) [] = false
- Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.bytesLt (a :: as) (b :: bs) = if a = b then Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.bytesLt as bs else decide (a < b)
Instances For
An Introduction: its introducer's roster index in the sender's roster, and its box.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Roster indexes assigned, consecutive, each with the key prefix of the member assigned it;
none for the member the message's own Introduction introduces.
Equations
Instances For
A message carries content or control, never both. acks pairs roster indexes, ascending, with
the Idx64 of the box acknowledged.
- introduction : Option Introduction
- numbers : Numbers
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Numbers and IntroducedAt #
The first index assigned, then the key prefix of each member, one per consecutive index; a
lone byte for the member an Introduction introduces.
Equations
Instances For
Empty when the field is malformed.