diff --git a/transport/internet/kcp/connection.go b/transport/internet/kcp/connection.go index e756802c8..123838238 100644 --- a/transport/internet/kcp/connection.go +++ b/transport/internet/kcp/connection.go @@ -9,7 +9,6 @@ import ( "github.com/v2ray/v2ray-core/common/alloc" "github.com/v2ray/v2ray-core/common/log" - "github.com/v2ray/v2ray-core/common/signal" ) var ( @@ -23,15 +22,6 @@ const ( headerSize uint32 = 2 ) -type ConnState byte - -var ( - ConnStateActive ConnState = 0 - ConnStateReadyToClose ConnState = 1 - ConnStatePeerClosed ConnState = 2 - ConnStateClosed ConnState = 4 -) - func nowMillisec() int64 { now := time.Now() return now.Unix()*1000 + int64(now.Nanosecond()/1000000) @@ -40,24 +30,19 @@ func nowMillisec() int64 { // Connection is a KCP connection over UDP. type Connection struct { sync.RWMutex - state ConnState kcp *KCP // the core ARQ kcpAccess sync.Mutex block Authenticator - needUpdate bool local, remote net.Addr wd time.Time // write deadline - chReadEvent chan struct{} writer io.WriteCloser since int64 - terminateOnce signal.Once } // NewConnection create a new KCP connection between local and remote. func NewConnection(conv uint16, writerCloser io.WriteCloser, local *net.UDPAddr, remote *net.UDPAddr, block Authenticator) *Connection { conn := new(Connection) conn.local = local - conn.chReadEvent = make(chan struct{}, 1) conn.remote = remote conn.block = block conn.writer = writerCloser @@ -208,20 +193,11 @@ func (this *Connection) updateTask() { this.Terminate() } -func (this *Connection) notifyReadEvent() { - select { - case this.chReadEvent <- struct{}{}: - default: - } -} - func (this *Connection) kcpInput(data []byte) { this.kcpAccess.Lock() this.kcp.current = this.Elapsed() this.kcp.Input(data) - this.kcpAccess.Unlock() - this.notifyReadEvent() } func (this *Connection) FetchInputFrom(conn net.Conn) {