|
|
@@ -118,7 +118,7 @@ func (seg *Segment) encode(ptr []byte) []byte {
|
|
|
ptr = ikcp_encode32u(ptr, seg.ts)
|
|
|
ptr = ikcp_encode32u(ptr, seg.sn)
|
|
|
ptr = ikcp_encode32u(ptr, seg.una)
|
|
|
- ptr = ikcp_encode32u(ptr, uint32(seg.data.Len()))
|
|
|
+ ptr = ikcp_encode16u(ptr, uint16(seg.data.Len()))
|
|
|
return ptr
|
|
|
}
|
|
|
|
|
|
@@ -142,7 +142,7 @@ type KCP struct {
|
|
|
rx_rttvar, rx_srtt, rx_rto uint32
|
|
|
snd_wnd, rcv_wnd, rmt_wnd, cwnd, probe uint32
|
|
|
current, interval, ts_flush, xmit uint32
|
|
|
- updated uint32
|
|
|
+ updated bool
|
|
|
ts_probe, probe_wait uint32
|
|
|
dead_link, incr uint32
|
|
|
|
|
|
@@ -378,8 +378,8 @@ func (kcp *KCP) Input(data []byte) int {
|
|
|
var maxack uint32
|
|
|
var flag int
|
|
|
for {
|
|
|
- var ts, sn, length, una, conv uint32
|
|
|
- var wnd uint16
|
|
|
+ var ts, sn, una, conv uint32
|
|
|
+ var wnd, length uint16
|
|
|
var cmd, frg uint8
|
|
|
|
|
|
if len(data) < int(IKCP_OVERHEAD) {
|
|
|
@@ -397,7 +397,7 @@ func (kcp *KCP) Input(data []byte) int {
|
|
|
data = ikcp_decode32u(data, &ts)
|
|
|
data = ikcp_decode32u(data, &sn)
|
|
|
data = ikcp_decode32u(data, &una)
|
|
|
- data = ikcp_decode32u(data, &length)
|
|
|
+ data = ikcp_decode16u(data, &length)
|
|
|
if len(data) < int(length) {
|
|
|
return -2
|
|
|
}
|
|
|
@@ -492,7 +492,7 @@ func (kcp *KCP) flush() {
|
|
|
change := 0
|
|
|
//lost := false
|
|
|
|
|
|
- if kcp.updated == 0 {
|
|
|
+ if !kcp.updated {
|
|
|
return
|
|
|
}
|
|
|
var seg Segment
|
|
|
@@ -687,8 +687,8 @@ func (kcp *KCP) Update(current uint32) {
|
|
|
|
|
|
kcp.current = current
|
|
|
|
|
|
- if kcp.updated == 0 {
|
|
|
- kcp.updated = 1
|
|
|
+ if !kcp.updated {
|
|
|
+ kcp.updated = true
|
|
|
kcp.ts_flush = kcp.current
|
|
|
}
|
|
|
|
|
|
@@ -720,7 +720,7 @@ func (kcp *KCP) Check(current uint32) uint32 {
|
|
|
tm_flush := int32(0x7fffffff)
|
|
|
tm_packet := int32(0x7fffffff)
|
|
|
minimal := uint32(0)
|
|
|
- if kcp.updated == 0 {
|
|
|
+ if !kcp.updated {
|
|
|
return current
|
|
|
}
|
|
|
|