From fd04af72a8efcacea2baba3144653e953f551b03 Mon Sep 17 00:00:00 2001 From: xtaci Date: Tue, 29 Sep 2020 23:24:49 +0800 Subject: [PATCH] add NewConn4 and ServeConn2 --- sess.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sess.go b/sess.go index 0b8bdf2..5b00ffd 100644 --- a/sess.go +++ b/sess.go @@ -1011,6 +1011,11 @@ func ServeConn(block BlockCrypt, dataShards, parityShards int, conn net.PacketCo return serveConn(block, dataShards, parityShards, dataShards, parityShards, conn, false) } +// ServeConn2 serves KCP protocol for a single packet connection. +func ServeConn2(block BlockCrypt, dataShards, parityShards int, remoteDataShards, remoteParityShards int, conn net.PacketConn) (*Listener, error) { + return serveConn(block, dataShards, parityShards, remoteDataShards, remoteParityShards, conn, false) +} + func serveConn(block BlockCrypt, dataShards, parityShards int, remoteDataShards, remoteParityShards int, conn net.PacketConn, ownConn bool) (*Listener, error) { l := new(Listener) l.conn = conn @@ -1070,6 +1075,11 @@ func DialWithOptions(raddr string, block BlockCrypt, dataShards, parityShards in return newUDPSession(convid, dataShards, parityShards, dataShards, parityShards, nil, conn, true, udpaddr, block), nil } +// NewConn4 establishes a session and talks KCP protocol over a packet connection. +func NewConn4(convid uint32, raddr net.Addr, block BlockCrypt, dataShards, parityShards int, remoteDataShards, remoteParityShards int, conn net.PacketConn) (*UDPSession, error) { + return newUDPSession(convid, dataShards, parityShards, remoteDataShards, remoteParityShards, nil, conn, false, raddr, block), nil +} + // NewConn3 establishes a session and talks KCP protocol over a packet connection. func NewConn3(convid uint32, raddr net.Addr, block BlockCrypt, dataShards, parityShards int, conn net.PacketConn) (*UDPSession, error) { return newUDPSession(convid, dataShards, parityShards, dataShards, parityShards, nil, conn, false, raddr, block), nil