From 8633ab2de6c9a46b3417e336cd986ebdbbeffb5a Mon Sep 17 00:00:00 2001 From: Kr328 <39107975+Kr328@users.noreply.github.com> Date: Sat, 30 Nov 2019 02:00:03 +0800 Subject: [PATCH] remove event --- core/src/main/golang/clash | 2 +- core/src/main/golang/event/event.go | 37 ------------- core/src/main/golang/event/log.go | 78 --------------------------- core/src/main/golang/event/traffic.go | 76 -------------------------- 4 files changed, 1 insertion(+), 192 deletions(-) delete mode 100644 core/src/main/golang/event/event.go delete mode 100644 core/src/main/golang/event/log.go delete mode 100644 core/src/main/golang/event/traffic.go diff --git a/core/src/main/golang/clash b/core/src/main/golang/clash index 791a7cd..0380c35 160000 --- a/core/src/main/golang/clash +++ b/core/src/main/golang/clash @@ -1 +1 @@ -Subproject commit 791a7cd647b3792459d553ffb68e0415e42367e1 +Subproject commit 0380c35d6d38d77f6fca4670608515132eff523e diff --git a/core/src/main/golang/event/event.go b/core/src/main/golang/event/event.go deleted file mode 100644 index 00668d2..0000000 --- a/core/src/main/golang/event/event.go +++ /dev/null @@ -1,37 +0,0 @@ -package event - -import "errors" - -var ( - handleSend func([]byte) - handleClose func() -) - -const ( - EventClose uint32 = 0 - EventLog uint32 = 1 - EventProxyChanged uint32 = 2 - EventTraffic uint32 = 3 -) - -func SetHandlers(send func([]byte), close func()) error { - if handleSend != nil || handleClose != nil { - return errors.New("Already registered") - } - - handleSend = send - handleClose = close - - return nil -} - -func ClearHandlers() { - handleSend = nil - handleClose = nil -} - -func send(buf []byte) { - if handleSend != nil { - handleSend(buf) - } -} diff --git a/core/src/main/golang/event/log.go b/core/src/main/golang/event/log.go deleted file mode 100644 index 3a6799c..0000000 --- a/core/src/main/golang/event/log.go +++ /dev/null @@ -1,78 +0,0 @@ -package event - -import "github.com/Dreamacro/clash/log" - -import "encoding/json" - -import "encoding/binary" - -var logExit chan int = nil - -func StartLogEvent() { - if logExit != nil { - return - } - - go func() { - logExit = make(chan int) - sub := log.Subscribe() - - defer log.UnSubscribe(sub) - defer func() { - close(logExit) - logExit = nil - }() - - for { - select { - case data := <-sub: - log := data.(*log.Event) - - if log == nil { - continue - } - - var message struct { - Type int `json:"type"` - Message string `json:"message"` - } - - message.Type = levelToInt(log.LogLevel) - message.Message = log.Payload - - s, _ := json.Marshal(&message) - - var prefix [4]byte - - binary.BigEndian.PutUint32(prefix[:], EventLog) - - send(append(prefix[:], s[:]...)) - case <-logExit: - return - } - } - }() -} - -func StopLogEvent() { - if logExit == nil { - return - } - - logExit <- 0 -} - -func levelToInt(level log.LogLevel) int { - switch level { - case log.DEBUG: - return 1 - case log.INFO: - return 2 - case log.WARNING: - return 3 - case log.ERROR: - return 4 - } - - return 1 -} diff --git a/core/src/main/golang/event/traffic.go b/core/src/main/golang/event/traffic.go deleted file mode 100644 index fc8472e..0000000 --- a/core/src/main/golang/event/traffic.go +++ /dev/null @@ -1,76 +0,0 @@ -package event - -import ( - "bytes" - "time" - - "encoding/binary" - "encoding/json" - - "github.com/Dreamacro/clash/tunnel" -) - -var trafficExit chan int = nil - -func StartTrafficEvent() { - if trafficExit != nil { - return - } - - go func() { - trafficExit = make(chan int) - ticker := time.NewTicker(time.Second) - buf := &bytes.Buffer{} - traffic := tunnel.DefaultManager - var prefix [4]byte - - binary.BigEndian.PutUint32(prefix[:], EventTraffic) - - for { - select { - case <-ticker.C: - buf.Reset() - - binary.Write(buf, binary.BigEndian, EventTraffic) - binary.Write(buf, binary.BigEndian, uint32(0)) - - var Packet struct { - Up int64 `json:"up"` - Down int64 `json:"down"` - Total int64 `json:"total"` - } - - up, down := traffic.Now() - snapshot := traffic.Snapshot() - - Packet.Up = up - Packet.Down = down - Packet.Total = snapshot.DownloadTotal + snapshot.UploadTotal - - json.NewEncoder(buf).Encode(&Packet) - - data := buf.Bytes() - - binary.BigEndian.PutUint32(data[4:], uint32(len(data)-8)) - - handleSend(data) - case <-trafficExit: - ticker.Stop() - - close(trafficExit) - trafficExit = nil - - return - } - } - - }() -} - -func StopTrafficEvent() { - if trafficExit == nil { - return - } - - trafficExit <- 0 -}