Documentation

Hale.Http2.Network.HTTP2.Types

A connection-level error that results in sending GOAWAY and closing the connection.

$$\text{ConnectionError} = \text{ErrorCode} \times \text{String}$$

  • errorCode : ErrorCode

    The error code to send in the GOAWAY frame.

  • message : String

    Human-readable description for debugging.

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

      A stream-level error that results in sending RST_STREAM for that stream only.

      $$\text{StreamError} = \text{StreamId} \times \text{ErrorCode} \times \text{String}$$

      • streamId : StreamId

        The stream that experienced the error.

      • errorCode : ErrorCode

        The error code to send in the RST_STREAM frame.

      • message : String

        Human-readable description for debugging.

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

          State for tracking header block assembly across HEADERS + CONTINUATION frames.

          RFC 9113 Section 4.3: A header block that does not fit within a single HEADERS or PUSH_PROMISE frame is continued in one or more CONTINUATION frames. The header block ends when END_HEADERS is set.

          $$\text{HeaderBlockState} = \text{Idle} \mid \text{Assembling}(\text{StreamId}, \text{ByteArray})$$

          • idle : HeaderBlockState

            No header block is being assembled.

          • assembling (streamId : StreamId) (fragments : ByteArray) : HeaderBlockState

            A header block is being assembled for the given stream. The ByteArray accumulates the header block fragment bytes.

          Instances For
            @[implicit_reducible]
            Equations
            • One or more equations did not get rendered due to their size.
            @[inline]

            Check if we are currently assembling a header block.

            Equations
            Instances For
              @[inline]

              Get the stream ID being assembled, if any.

              Equations
              Instances For

                Append a fragment to the header block being assembled. Returns none if not currently assembling.

                Equations
                Instances For

                  Get the complete assembled header block and reset to idle. Returns none if not currently assembling.

                  Equations
                  Instances For

                    HTTP/2 connection-level protocol result.

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