mirror of
https://github.com/skywind3000/kcp.git
synced 2025-03-22 07:22:59 +08:00
commit
d86e7091b0
16
ikcp.c
16
ikcp.c
@ -395,7 +395,7 @@ int ikcp_recv(ikcpcb *kcp, char *buffer, int len)
|
|||||||
fragment = seg->frg;
|
fragment = seg->frg;
|
||||||
|
|
||||||
if (ikcp_canlog(kcp, IKCP_LOG_RECV)) {
|
if (ikcp_canlog(kcp, IKCP_LOG_RECV)) {
|
||||||
ikcp_log(kcp, IKCP_LOG_RECV, "recv sn=%lu", seg->sn);
|
ikcp_log(kcp, IKCP_LOG_RECV, "recv sn=%lu", (unsigned long)seg->sn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ispeek == 0) {
|
if (ispeek == 0) {
|
||||||
@ -412,7 +412,7 @@ int ikcp_recv(ikcpcb *kcp, char *buffer, int len)
|
|||||||
|
|
||||||
// move available data from rcv_buf -> rcv_queue
|
// move available data from rcv_buf -> rcv_queue
|
||||||
while (! iqueue_is_empty(&kcp->rcv_buf)) {
|
while (! iqueue_is_empty(&kcp->rcv_buf)) {
|
||||||
IKCPSEG *seg = iqueue_entry(kcp->rcv_buf.next, IKCPSEG, node);
|
seg = iqueue_entry(kcp->rcv_buf.next, IKCPSEG, node);
|
||||||
if (seg->sn == kcp->rcv_nxt && kcp->nrcv_que < kcp->rcv_wnd) {
|
if (seg->sn == kcp->rcv_nxt && kcp->nrcv_que < kcp->rcv_wnd) {
|
||||||
iqueue_del(&seg->node);
|
iqueue_del(&seg->node);
|
||||||
kcp->nrcv_buf--;
|
kcp->nrcv_buf--;
|
||||||
@ -753,7 +753,7 @@ int ikcp_input(ikcpcb *kcp, const char *data, long size)
|
|||||||
int flag = 0;
|
int flag = 0;
|
||||||
|
|
||||||
if (ikcp_canlog(kcp, IKCP_LOG_INPUT)) {
|
if (ikcp_canlog(kcp, IKCP_LOG_INPUT)) {
|
||||||
ikcp_log(kcp, IKCP_LOG_INPUT, "[RI] %d bytes", size);
|
ikcp_log(kcp, IKCP_LOG_INPUT, "[RI] %d bytes", (int)size);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data == NULL || (int)size < (int)IKCP_OVERHEAD) return -1;
|
if (data == NULL || (int)size < (int)IKCP_OVERHEAD) return -1;
|
||||||
@ -814,7 +814,7 @@ int ikcp_input(ikcpcb *kcp, const char *data, long size)
|
|||||||
}
|
}
|
||||||
if (ikcp_canlog(kcp, IKCP_LOG_IN_ACK)) {
|
if (ikcp_canlog(kcp, IKCP_LOG_IN_ACK)) {
|
||||||
ikcp_log(kcp, IKCP_LOG_IN_DATA,
|
ikcp_log(kcp, IKCP_LOG_IN_DATA,
|
||||||
"input ack: sn=%lu rtt=%ld rto=%ld", sn,
|
"input ack: sn=%lu rtt=%ld rto=%ld", (unsigned long)sn,
|
||||||
(long)_itimediff(kcp->current, ts),
|
(long)_itimediff(kcp->current, ts),
|
||||||
(long)kcp->rx_rto);
|
(long)kcp->rx_rto);
|
||||||
}
|
}
|
||||||
@ -822,7 +822,7 @@ int ikcp_input(ikcpcb *kcp, const char *data, long size)
|
|||||||
else if (cmd == IKCP_CMD_PUSH) {
|
else if (cmd == IKCP_CMD_PUSH) {
|
||||||
if (ikcp_canlog(kcp, IKCP_LOG_IN_DATA)) {
|
if (ikcp_canlog(kcp, IKCP_LOG_IN_DATA)) {
|
||||||
ikcp_log(kcp, IKCP_LOG_IN_DATA,
|
ikcp_log(kcp, IKCP_LOG_IN_DATA,
|
||||||
"input psh: sn=%lu ts=%lu", sn, ts);
|
"input psh: sn=%lu ts=%lu", (unsigned long)sn, (unsigned long)ts);
|
||||||
}
|
}
|
||||||
if (_itimediff(sn, kcp->rcv_nxt + kcp->rcv_wnd) < 0) {
|
if (_itimediff(sn, kcp->rcv_nxt + kcp->rcv_wnd) < 0) {
|
||||||
ikcp_ack_push(kcp, sn, ts);
|
ikcp_ack_push(kcp, sn, ts);
|
||||||
@ -857,7 +857,7 @@ int ikcp_input(ikcpcb *kcp, const char *data, long size)
|
|||||||
// do nothing
|
// do nothing
|
||||||
if (ikcp_canlog(kcp, IKCP_LOG_IN_WINS)) {
|
if (ikcp_canlog(kcp, IKCP_LOG_IN_WINS)) {
|
||||||
ikcp_log(kcp, IKCP_LOG_IN_WINS,
|
ikcp_log(kcp, IKCP_LOG_IN_WINS,
|
||||||
"input wins: %lu", (IUINT32)(wnd));
|
"input wins: %lu", (unsigned long)(wnd));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1075,7 +1075,7 @@ void ikcp_flush(ikcpcb *kcp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (needsend) {
|
if (needsend) {
|
||||||
int size, need;
|
int need;
|
||||||
segment->ts = current;
|
segment->ts = current;
|
||||||
segment->wnd = seg.wnd;
|
segment->wnd = seg.wnd;
|
||||||
segment->una = kcp->rcv_nxt;
|
segment->una = kcp->rcv_nxt;
|
||||||
@ -1096,7 +1096,7 @@ void ikcp_flush(ikcpcb *kcp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (segment->xmit >= kcp->dead_link) {
|
if (segment->xmit >= kcp->dead_link) {
|
||||||
kcp->state = -1;
|
kcp->state = (IUINT32)-1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user