///|
fn main {
  let raw : Array[@proxyproto.RawTlv] = [
    {
      type_code: @proxyproto.TLV_AUTHORITY,
      value: Bytes::from_array([b'e', b'x']),
    },
    {
      type_code: @proxyproto.TLV_UNIQUE_ID,
      value: Bytes::from_array([b'1', b'2']),
    },
    {
      type_code: @proxyproto.TLV_SSL,
      value: Bytes::from_array([b'\x01', b'\x00', b'\x00', b'\x00', b'\x00']),
    },
    { type_code: b'\x90', value: Bytes::from_array([b'x']) },
  ]
  let parsed = @proxyproto.interpret_all_tlvs(raw).unwrap()
  for index = 0; index < raw.length(); index = index + 1 {
    println(@proxyproto.tlv_type_name(raw[index].type_code))
  }
  println("interpreted TLVs=" + parsed.length().to_string())
}