in scripts/qlog_parser.py [0:0]
def parse_stream_data_moved(line):
# [2024/05/14 11:34:11 547904] [stream_data_moved] |scid:007cc254f81be8e78d765a2e63339fc99a66320d|xqc_stream_send|ret:-610|stream_id:3|stream_send_offset:0|pkt_type:SHORT_HEADER|buff_1rtt:0|send_data_size:1|offset:0|fin:0|
# stream_flag:17|conn:0000000002354F7C|conn_state:S_INIT|flag:TICKING TOKEN_OK UPPER_CONN_EXIST INIT_RECVD |from:application|to:transport|
data = {
"stream_id" : "unknown",
"offset": 0,
"length": 0,
"from": "unknown",
"to": "unknown"
}
event_scid = "unknown"
segments = line.split('|')
segments = [segment.strip() for segment in segments]
assert(len(segments) > 1)
for i in range(1,len(segments)):
item = segments[i].split(':')
item = [i.strip() for i in item]
if(len(item) == 1):
continue
if item[0] == "stream_id":
data["stream_id"] = int(item[1])
elif item[0] == "stream_send_offset":
data["offset"] = int(item[1])
elif item[0] in ["from", "to"]:
data[item[0]] = item[1]
elif item[0] == "send_data_size":
data["length"] = int(item[1])
elif item[0] == "scid":
event_scid = item[1]
return (data, event_scid)