function $header(byte) {
    if (start === 0) start = position;
    type = byte >> 4 & 0x07;
    length = byte & 0x0f;
    if (byte & 0x80) {
      offset = 4;
      return $header2;
    }
    return afterHeader();
  }
function $header(byte) {
    if (start === 0) start = position;
    type = byte >> 4 & 0x07;
    length = byte & 0x0f;
    if (byte & 0x80) {
      offset = 4;
      return $header2;
    }
    return afterHeader();
  }
function $header ( byte ) { if ( start === 0 ) start = position ; type = byte >> 4 & 0x07 ; length = byte & 0x0f ; if ( byte & 0x80 ) { offset = 4 ; return $header2 ; } return afterHeader ( ) ; }
n-byte type and length (3-bit type, (n-1)*7+4-bit length) CTTTSSSS C is continue bit, TTT is type, S+ is length
n - byte type and length ( 3 - bit type ( n - 1 ) * 7 + 4 - bit length ) CTTTSSSS C is continue bit TTT is type S + is length