diff --git a/go.mod b/go.mod index c9d3f14..377d646 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/pkg/errors v0.9.1 github.com/urfave/cli v1.21.0 github.com/xtaci/kcp-go/v5 v5.6.1 - github.com/xtaci/smux v1.5.15 + github.com/xtaci/smux v1.5.16 github.com/xtaci/tcpraw v1.2.25 golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de ) diff --git a/go.sum b/go.sum index 524ef9e..e3b4ee0 100644 --- a/go.sum +++ b/go.sum @@ -42,6 +42,8 @@ github.com/xtaci/smux v1.5.14 h1:1j+zJYDZRv9FHaWqCJfH5RPizIm0fSzJIFbfVn8zsfg= github.com/xtaci/smux v1.5.14/go.mod h1:OMlQbT5vcgl2gb49mFkYo6SMf+zP3rcjcwQz7ZU7IGY= github.com/xtaci/smux v1.5.15 h1:6hMiXswcleXj5oNfcJc+DXS8Vj36XX2LaX98udog6Kc= github.com/xtaci/smux v1.5.15/go.mod h1:OMlQbT5vcgl2gb49mFkYo6SMf+zP3rcjcwQz7ZU7IGY= +github.com/xtaci/smux v1.5.16 h1:FBPYOkW8ZTjLKUM4LI4xnnuuDC8CQ/dB04HD519WoEk= +github.com/xtaci/smux v1.5.16/go.mod h1:OMlQbT5vcgl2gb49mFkYo6SMf+zP3rcjcwQz7ZU7IGY= github.com/xtaci/tcpraw v1.2.25 h1:VDlqo0op17JeXBM6e2G9ocCNLOJcw9mZbobMbJjo0vk= github.com/xtaci/tcpraw v1.2.25/go.mod h1:dKyZ2V75s0cZ7cbgJYdxPvms7af0joIeOyx1GgJQbLk= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= diff --git a/vendor/github.com/xtaci/smux/.travis.yml b/vendor/github.com/xtaci/smux/.travis.yml index e1d30fa..0d37d11 100644 --- a/vendor/github.com/xtaci/smux/.travis.yml +++ b/vendor/github.com/xtaci/smux/.travis.yml @@ -1,3 +1,6 @@ +arch: + - amd64 + - ppc64le language: go go: - 1.9.x diff --git a/vendor/github.com/xtaci/smux/session.go b/vendor/github.com/xtaci/smux/session.go index bc56066..de0c69b 100644 --- a/vendor/github.com/xtaci/smux/session.go +++ b/vendor/github.com/xtaci/smux/session.go @@ -24,7 +24,7 @@ var ( ) type writeRequest struct { - prio uint64 + prio uint32 frame Frame result chan writeResult } @@ -496,7 +496,7 @@ func (s *Session) writeFrame(f Frame) (n int, err error) { } // internal writeFrame version to support deadline used in keepalive -func (s *Session) writeFrameInternal(f Frame, deadline <-chan time.Time, prio uint64) (int, error) { +func (s *Session) writeFrameInternal(f Frame, deadline <-chan time.Time, prio uint32) (int, error) { req := writeRequest{ prio: prio, frame: f, diff --git a/vendor/github.com/xtaci/smux/shaper.go b/vendor/github.com/xtaci/smux/shaper.go index be03406..c074186 100644 --- a/vendor/github.com/xtaci/smux/shaper.go +++ b/vendor/github.com/xtaci/smux/shaper.go @@ -1,9 +1,13 @@ package smux +func _itimediff(later, earlier uint32) int32 { + return (int32)(later - earlier) +} + type shaperHeap []writeRequest func (h shaperHeap) Len() int { return len(h) } -func (h shaperHeap) Less(i, j int) bool { return h[i].prio < h[j].prio } +func (h shaperHeap) Less(i, j int) bool { return _itimediff(h[j].prio, h[i].prio) > 0 } func (h shaperHeap) Swap(i, j int) { h[i], h[j] = h[j], h[i] } func (h *shaperHeap) Push(x interface{}) { *h = append(*h, x.(writeRequest)) } diff --git a/vendor/github.com/xtaci/smux/stream.go b/vendor/github.com/xtaci/smux/stream.go index 6c9499c..a95fb56 100644 --- a/vendor/github.com/xtaci/smux/stream.go +++ b/vendor/github.com/xtaci/smux/stream.go @@ -325,7 +325,7 @@ func (s *Stream) Write(b []byte) (n int, err error) { } frame.data = bts[:sz] bts = bts[sz:] - n, err := s.sess.writeFrameInternal(frame, deadline, uint64(s.numWritten)) + n, err := s.sess.writeFrameInternal(frame, deadline, s.numWritten) s.numWritten++ sent += n if err != nil { @@ -393,7 +393,7 @@ func (s *Stream) writeV2(b []byte) (n int, err error) { } frame.data = bts[:sz] bts = bts[sz:] - n, err := s.sess.writeFrameInternal(frame, deadline, uint64(atomic.LoadUint32(&s.numWritten))) + n, err := s.sess.writeFrameInternal(frame, deadline, atomic.LoadUint32(&s.numWritten)) atomic.AddUint32(&s.numWritten, uint32(sz)) sent += n if err != nil { diff --git a/vendor/modules.txt b/vendor/modules.txt index 84474e2..95858c5 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -41,7 +41,7 @@ github.com/urfave/cli # github.com/xtaci/kcp-go/v5 v5.6.1 ## explicit github.com/xtaci/kcp-go/v5 -# github.com/xtaci/smux v1.5.15 +# github.com/xtaci/smux v1.5.16 ## explicit github.com/xtaci/smux # github.com/xtaci/tcpraw v1.2.25