Documentation

Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.Gcm

Group chat messages on the wire #

A box of a member's stream holds F followed by the CBOR map of one GroupChatMessage, as katzenqt's models.py writes it: its fields in declaration order, absent ones left out. A message too long for a box goes to a substream of C chunks ending in an F chunk, announced in the member's stream by an I chunk carrying the substream's read cap.

Gcm holds what this client reads of a message. The fields between introduction and acks (file_upload, who, reply_who, tally) are kept as their CBOR, unread; keys katzenqt does not know are dropped, as its decoder drops them.

The fields this client keeps without reading, in the order they are written.

Equations
Instances For
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Encoding #

        Instances For

          A message's fields, in the order they are written.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Decoding #

                  An introduction map's entries: display_name and read_cap, in either order.

                  Equations
                  Instances For

                    An introduction katzenqt accepts: a name of 1 to 30 characters and a whole read cap.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Read a value that may be null, which counts as absent.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          What the fields read so far say.

                          Instances For

                            One map entry: a key this client reads and its value, or none for an entry it passes over.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              Take in one field; a repeated key keeps its last value, as a Python dict does.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Equations
                                Instances For

                                  The type of a message written before msg_type was, from the field it carries.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    A message from the fields read, when katzenqt would accept it.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For

                                        The message a CBOR map holds, or none when katzenqt would refuse it. What follows the map is ignored, as cbor2.loads ignores it.

                                        Equations
                                        Instances For

                                          Boxes #

                                          What a box of a stream holds.

                                          • final (cbor : ByteArray) : Chunk

                                            The last or only chunk of a message.

                                          • continued (part : ByteArray) : Chunk

                                            A chunk of a message that continues in the next box.

                                          • indirection (total : Option Nat) (readCap : ByteArray) : Chunk

                                            Where a long message is: the substream's read cap, and how many chunks it holds when the writer said.

                                          • unknown : Chunk
                                          Instances For
                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For

                                              Between a message and what a member reads of it #

                                              As katzenqt's GcmCodec: a content message's whole CBOR travels as its content; control messages and introductions are written afresh.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For

                                                What a member reads of a message's CBOR, or none when it is not a message.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For

                                                  The message whose CBOR a member's m is written as; none when its content is not a message.

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For

                                                    The box for a member's m.

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For

                                                      A text message, as a member's content.

                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For