QLOG_STR
QLOG_STR("owner", tcause->remote ? "remote" : "local");
QLOG_STR("connection_code", m);
QLOG_STR("packet_type", quic_pkt_type_to_qlog(tpkt->pkt_type));
QLOG_STR("protocol", "quic");
QLOG_STR("frame_type", "padding");
QLOG_STR("frame_type", "ping");
QLOG_STR("frame_type", "ack");
QLOG_STR("frame_type", "reset_stream");
QLOG_STR("frame_type", "stop_sending");
QLOG_STR("frame_type", "crypto");
QLOG_STR("frame_type", "stream");
QLOG_STR("frame_type", "max_data");
QLOG_STR("frame_type", "max_streams");
QLOG_STR("stream_type",
QLOG_STR("frame_type", "max_stream_data");
QLOG_STR("frame_type", "path_challenge");
QLOG_STR("frame_type", "path_response");
QLOG_STR("frame_type", "connection_close");
QLOG_STR("error_space", f.is_app ? "application" : "transport");
QLOG_STR("frame_type", "handshake_done");
QLOG_STR("frame_type", "new_connection_id");
QLOG_STR("frame_type", "retire_connection_id");
QLOG_STR("frame_type", "data_blocked");
QLOG_STR("frame_type", "stream_data_blocked");
QLOG_STR("frame_type", "streams_blocked");
QLOG_STR("stream_type",
QLOG_STR("frame_type", "new_token");
QLOG_STR("frame_type", "unknown");
QLOG_STR("packet_type", type_s);
QLOG_STR("state", state_s);
QLOG_STR("owner", "remote");
QLOG_STR("owner", "local");
QLOG_STR("initial_source_connection_id", "");
QLOG_STR("field1", "foo");
QLOG_STR("field10", "baz");
QLOG_STR(NULL, "a");
QLOG_STR(NULL, "b");
QLOG_STR("field1", "foo");
QLOG_STR("field1", "bar");