50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
#ifndef OMNI_KCP_PACKET_DEBUG_H
|
|
#define OMNI_KCP_PACKET_DEBUG_H
|
|
|
|
#include "omni_common.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct kcp_packet_debug_segment {
|
|
uint8_t cmd;
|
|
uint32_t sn;
|
|
uint32_t una;
|
|
uint8_t frg;
|
|
uint16_t wnd;
|
|
uint32_t len;
|
|
} kcp_packet_debug_segment_t;
|
|
|
|
typedef struct kcp_packet_debug_record {
|
|
char event[OMNI_MAX_EVENT_NAME];
|
|
char node_role[OMNI_MAX_NODE_ROLE];
|
|
char node_id[OMNI_MAX_PEER_ID];
|
|
char local_addr[OMNI_MAX_ADDR_TEXT];
|
|
char remote_addr[OMNI_MAX_ADDR_TEXT];
|
|
int packet_bytes;
|
|
int has_udp_tx_id;
|
|
uint32_t udp_tx_id;
|
|
int has_kcp_conv;
|
|
uint32_t kcp_conv;
|
|
int64_t ts_unix_nano;
|
|
kcp_packet_debug_segment_t *segments;
|
|
size_t segment_count;
|
|
} kcp_packet_debug_record_t;
|
|
|
|
typedef struct kcp_packet_debug_logger {
|
|
omni_file_logger_t file_logger;
|
|
int enabled;
|
|
} kcp_packet_debug_logger_t;
|
|
|
|
kcp_packet_debug_logger_t *kcp_packet_debug_open_jsonl(const char *path);
|
|
void kcp_packet_debug_close(kcp_packet_debug_logger_t *logger);
|
|
int kcp_packet_debug_log(kcp_packet_debug_logger_t *logger, const kcp_packet_debug_record_t *record);
|
|
void kcp_packet_debug_record_clear(kcp_packet_debug_record_t *record);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|