feat: 把 A 端的 Session/KCP/视频/控制 都收口到一个本地 daemon 进程里,Django 和输入发送端都改成通过本机 UDS HTTP 去访问它,同时补齐了观测、性能和可用性上的几个关键问题。
This commit is contained in:
7
third_party/kcp/ikcp.c
vendored
7
third_party/kcp/ikcp.c
vendored
@@ -298,6 +298,10 @@ ikcpcb *ikcp_create(IUINT32 conv, void *user)
|
||||
kcp->fastlimit = IKCP_FASTACK_LIMIT;
|
||||
kcp->nocwnd = 0;
|
||||
kcp->xmit = 0;
|
||||
kcp->fast_retrans_xmit = 0;
|
||||
kcp->early_retrans_xmit = 0;
|
||||
kcp->lost_xmit = 0;
|
||||
kcp->repeat_xmit = 0;
|
||||
kcp->dead_link = IKCP_DEADLINK;
|
||||
kcp->output = NULL;
|
||||
kcp->writelog = NULL;
|
||||
@@ -788,6 +792,7 @@ void ikcp_parse_data(ikcpcb *kcp, IKCPSEG *newseg)
|
||||
}
|
||||
else
|
||||
{
|
||||
kcp->repeat_xmit++;
|
||||
ikcp_segment_delete(kcp, newseg);
|
||||
}
|
||||
|
||||
@@ -1192,6 +1197,7 @@ void ikcp_flush(ikcpcb *kcp)
|
||||
needsend = 1;
|
||||
segment->xmit++;
|
||||
kcp->xmit++;
|
||||
kcp->lost_xmit++;
|
||||
if (kcp->nodelay == 0)
|
||||
{
|
||||
segment->rto += _imax_(segment->rto, (IUINT32)kcp->rx_rto);
|
||||
@@ -1211,6 +1217,7 @@ void ikcp_flush(ikcpcb *kcp)
|
||||
{
|
||||
needsend = 1;
|
||||
segment->xmit++;
|
||||
kcp->fast_retrans_xmit++;
|
||||
segment->fastack = 0;
|
||||
segment->resendts = current + segment->rto;
|
||||
change++;
|
||||
|
||||
4
third_party/kcp/ikcp.h
vendored
4
third_party/kcp/ikcp.h
vendored
@@ -300,6 +300,10 @@ struct IKCPCB
|
||||
IINT32 rx_rttval, rx_srtt, rx_rto, rx_minrto;
|
||||
IUINT32 snd_wnd, rcv_wnd, rmt_wnd, cwnd, probe;
|
||||
IUINT32 current, interval, ts_flush, xmit;
|
||||
IUINT32 fast_retrans_xmit;
|
||||
IUINT32 early_retrans_xmit;
|
||||
IUINT32 lost_xmit;
|
||||
IUINT32 repeat_xmit;
|
||||
IUINT32 nrcv_buf, nsnd_buf;
|
||||
IUINT32 nrcv_que, nsnd_que;
|
||||
IUINT32 nodelay, updated;
|
||||
|
||||
Reference in New Issue
Block a user