HTCP :: RFC · Errata · Implementations

Size of LENGTH field in HEADER

Section 2.6 of RFC 2756 shows the HEADER as:

                 +0 (MSB)                            +1 (LSB)
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0: |                             LENGTH                            |
      +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +
   2: |                             LENGTH                            |
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   2: |             MAJOR             |             MINOR             |
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
The repeated "2:" on the left side is confusing. Should LENGTH be 16- or 32-bits?

Since we expect HTCP to be used over UDP, and UDP messages cannot be larger than 2^16, we see no reason that HTCP messages should exceed that limit. Therefore, the LENGTH field should be 16-bits and the HEADER diagram should be:

                 +0 (MSB)                            +1 (LSB)
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0: |                             LENGTH                            |
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   2: |             MAJOR             |             MINOR             |
      +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+