feat: 视频与控制程序合并

This commit is contained in:
2026-04-04 23:25:43 +08:00
parent 9ffc36f50d
commit 70e835ed49
19 changed files with 1674 additions and 706 deletions

View File

@@ -1788,6 +1788,33 @@ int kcp_conn_local_addr(const kcp_conn_t *conn, struct sockaddr_storage *addr, s
return 0;
}
void kcp_conn_runtime_stats_snapshot(kcp_conn_t *conn, kcp_runtime_stats_t *out_stats) {
if (out_stats == NULL) {
return;
}
memset(out_stats, 0, sizeof(*out_stats));
if (conn == NULL) {
return;
}
out_stats->connected = atomic_load(&conn->closed) ? 0 : 1;
pthread_mutex_lock(&conn->kcp_mu);
if (conn->kcp != NULL) {
out_stats->conv = conn->kcp->conv;
out_stats->rto_ms = conn->kcp->rx_rto;
out_stats->srtt_ms = conn->kcp->rx_srtt;
out_stats->srttvar_ms = conn->kcp->rx_rttval;
out_stats->snd_queue = conn->kcp->nsnd_que;
out_stats->rcv_queue = conn->kcp->nrcv_que;
out_stats->snd_buffer = conn->kcp->nsnd_buf;
out_stats->xmit_total = conn->kcp->xmit;
} else {
out_stats->connected = 0;
}
pthread_mutex_unlock(&conn->kcp_mu);
}
int kcp_conn_close(kcp_conn_t *conn) {
if (conn == NULL) {
return 0;