Documentation

Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.Reader

Reading one member's stream #

A reader reads in order, one box at a time. A scan rechecks boxes previously stepped past and may jump ahead to a box another member acknowledged, keeping the boxes it skips. A reader acknowledges the end of the unbroken run it has read (run). See "Rewrite and scan" in the group chat spec.

  • stream : Key
  • readCap : ByteArray
  • next : Index

    The index of the next box to read.

  • last : Option Index

    The last box read in order, data or tombstone.

  • passed : Nat

    How many boxes this reader has passed.

  • Boxes a scan stepped past without reading, oldest first: each with the count it was passed at and the box before it.

  • The first box passed unread and no longer kept; acknowledgements stop before it.

  • mode : Mode
  • tried : List Nat

    The Idx64 of each acknowledged box a scan has already looked for.

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

        Acknowledged boxes a scan has not looked for yet.

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

            Recheck what was kept, then look for acknowledged boxes ahead, or probe forward from here.

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

              The end of the unbroken run read: how far this stream may be acknowledged.

              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

                  Give up on each of dropped.

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

                    Drop kept boxes more than window behind, as lost.

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

                      The boxes a walk kept, from position start, each with the box before it.

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

                        Jump to t past steps boxes, keeping the last skipped of them; any before those are given up on.

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

                          The result of a walk: jump to target, keeping the boxes passed.

                          Equations
                          Instances For

                            Read the box expected next, in order.

                            Equations
                            Instances For

                              Take one box read: its message if it is new data to ingest, and what to read next.

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