]> 127.0.0.1 Git - part/.git/commitdiff
100
authorqydysky <qydysky@foxmail.com>
Wed, 13 Jan 2021 13:08:21 +0000 (21:08 +0800)
committerqydysky <qydysky@foxmail.com>
Wed, 13 Jan 2021 13:08:21 +0000 (21:08 +0800)
compress/Flate.go
compress/Gzip.go
get/Get.go
go.mod
go.sum
log/Log.go
log/Log_test.go

index 3e1822b73003c15bbaf4f8e43b3c4624427ff2cb..de6fd2f4b18d8043d1ce57fd3ceb00b3bc18399f 100644 (file)
@@ -1,7 +1,7 @@
 package part
 
 import (
-    "github.com/klauspost/compress/flate"
+    "compress/flate"
     "bytes"
     "io"
     "io/ioutil"
@@ -23,14 +23,11 @@ func InFlate(byteS []byte, level int) ([]byte,error) {
 }
 
 func UnFlate(byteS []byte) ([]byte,error) {
-    buf := bytes.NewBuffer(byteS)
-    // 创建一个flate.Write
-    flateRead := flate.NewReader(buf)
-    defer flateRead.Close()
-    // 写入待压缩内容
+    flateRead := flate.NewReader(bytes.NewBuffer(byteS))
     rb, err := ioutil.ReadAll(flateRead)
+    flateRead.Close()
     if err == io.EOF || err == io.ErrUnexpectedEOF {
-        return rb, nil
+        return append([]byte{},rb...), nil
     }
-    return rb, err
+    return append([]byte{},rb...), err
 }
\ No newline at end of file
index 2e503b4721ecaba27ef496f126f156facdbbf3a2..1c45d289fa4ad60b97590a148f4d4a99473c5d19 100644 (file)
@@ -1,7 +1,7 @@
 package part
 
 import (
-    gzip "github.com/klauspost/pgzip"
+    gzip "compress/gzip"
     "bytes"
     "io"
     "io/ioutil"
@@ -21,15 +21,14 @@ func InGzip(byteS []byte, level int) ([]byte,error) {
 }
 
 func UnGzip(byteS []byte) ([]byte,error) {
-    buf := bytes.NewBuffer(byteS)
-    Read,err := gzip.NewReader(buf)
+    Read,err := gzip.NewReader(bytes.NewBuffer(byteS))
     if err != nil {
-        return buf.Bytes(),err
+        return byteS,err
     }
-    defer Read.Close()
     rb, err := ioutil.ReadAll(Read)
+    Read.Close()
     if err == io.EOF || err == io.ErrUnexpectedEOF {
-        return rb, nil
+        return append([]byte{},rb...), nil
     }
-    return rb, err
+    return append([]byte{},rb...), err
 }
\ No newline at end of file
index c8d8502ddbbd436835caf0efbf80526de3f94263..33100e91381f762a9ddecfc91022531d4207cb15 100644 (file)
@@ -81,5 +81,5 @@ func SS(source,stratS,endS string, startI,lenI int) (string,error) {
 
        if te == 0 {return "", errors.New("no stop symbol "+ endS +" in " + source)}
 
-       return source[ts:te], nil
+       return string(source[ts:te]), nil
 }
diff --git a/go.mod b/go.mod
index 5e96ca1d4d1974dd2980b21d4ad8dce0395ab59e..61032da396e3d02c9e97312cfe1a187d5985c829 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -5,17 +5,17 @@ go 1.14
 require (
        github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect
        github.com/andybalholm/brotli v1.0.1
-       github.com/go-ole/go-ole v1.2.4 // indirect
+       github.com/go-ole/go-ole v1.2.5 // indirect
        github.com/gorilla/websocket v1.4.2
-       github.com/klauspost/compress v1.10.10
+       github.com/klauspost/compress v1.11.6
        github.com/klauspost/pgzip v1.2.5
-       github.com/miekg/dns v1.1.31
-       github.com/shirou/gopsutil v2.20.7+incompatible
+       github.com/miekg/dns v1.1.35
+       github.com/shirou/gopsutil v3.20.12+incompatible
        github.com/thedevsaddam/gojsonq v2.3.0+incompatible
        github.com/thedevsaddam/gojsonq/v2 v2.5.2
-       golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de // indirect
-       golang.org/x/net v0.0.0-20200707034311-ab3426394381 // indirect
-       golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed // indirect
+       golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect
+       golang.org/x/net v0.0.0-20201224014010-6772e930b67b // indirect
+       golang.org/x/sys v0.0.0-20210113000019-eaf3bda374d2 // indirect
 )
 
 //replace github.com/thedevsaddam/gojsonq v2.3.0+incompatible => github.com/thedevsaddam/gojsonq/v2 v2.5.2
diff --git a/go.sum b/go.sum
index 3d760f3386db5a16fedf77a0c69e26d9f8028ef0..011911d25adf60f45ca1d5c5776b8d60b5e74cf0 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -4,18 +4,26 @@ github.com/andybalholm/brotli v1.0.1 h1:KqhlKozYbRtJvsPrrEeXcO+N2l6NYT5A2QAFmSUL
 github.com/andybalholm/brotli v1.0.1/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y=
 github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI=
 github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
+github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY=
+github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
 github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
 github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/klauspost/compress v1.10.10 h1:a/y8CglcM7gLGYmlbP/stPE5sR3hbhFRUjCBfd/0B3I=
 github.com/klauspost/compress v1.10.10/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
+github.com/klauspost/compress v1.11.6 h1:EgWPCW6O3n1D5n99Zq3xXBt9uCwRGvpwGOusOLNBRSQ=
+github.com/klauspost/compress v1.11.6/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
 github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE=
 github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
 github.com/miekg/dns v1.1.31 h1:sJFOl9BgwbYAWOGEwr61FU28pqsBNdpRBnhGXtO06Oo=
 github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
+github.com/miekg/dns v1.1.35 h1:oTfOaDH+mZkdcgdIjH6yBajRGtIwcwcaR+rt23ZSrJs=
+github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
 github.com/shirou/gopsutil v2.20.6+incompatible h1:P37G9YH8M4vqkKcwBosp+URN5O8Tay67D2MbR361ioY=
 github.com/shirou/gopsutil v2.20.6+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/shirou/gopsutil v2.20.7+incompatible h1:Ymv4OD12d6zm+2yONe39VSmp2XooJe8za7ngOLW/o/w=
 github.com/shirou/gopsutil v2.20.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
+github.com/shirou/gopsutil v3.20.12+incompatible h1:6VEGkOXP/eP4o2Ilk8cSsX0PhOEfX6leqAnD+urrp9M=
+github.com/shirou/gopsutil v3.20.12+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/thedevsaddam/gojsonq v1.9.1 h1:zQulEP43nwmq5EKrNWyIgJVbqDeMdC1qzXM/f5O15a0=
 github.com/thedevsaddam/gojsonq v2.3.0+incompatible h1:i2lFTvGY4LvoZ2VUzedsFlRiyaWcJm3Uh6cQ9+HyQA8=
 github.com/thedevsaddam/gojsonq v2.3.0+incompatible/go.mod h1:RBcQaITThgJAAYKH7FNp2onYodRz8URfsuEGpAch0NA=
@@ -27,6 +35,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de h1:ikNHVSjEfnvz6sxdSPCaPt572qowuyMDMJLLm3Db3ig=
 golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad h1:DN0cp81fZ3njFcrLCytUHRSUkqBjfTo4Tx9RJTWs0EY=
+golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
 golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -34,10 +44,14 @@ golang.org/x/net v0.0.0-20190923162816-aa69164e4478 h1:l5EDrHhldLYb3ZRHDUhXF7Om7
 golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
 golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20201224014010-6772e930b67b h1:iFwSg7t5GZmB/Q5TjiEAsdoLDrdJRC1RiF2WhuV29Qw=
+golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1 h1:sIky/MyNRSHTrdxfsiUSS4WIAMvInbeXljJz+jDjeYE=
 golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -45,6 +59,13 @@ golang.org/x/sys v0.0.0-20200808120158-1030fc2bf1d9 h1:yi1hN8dcqI9l8klZfy4B8mJvF
 golang.org/x/sys v0.0.0-20200808120158-1030fc2bf1d9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed h1:WBkVNH1zd9jg/dK4HCM4lNANnmd12EHC9z+LmcCG4ns=
 golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210113000019-eaf3bda374d2 h1:F9vNgpIiamoF+Q1/c78bikg/NScXEtbZSNEpnRelOzs=
+golang.org/x/sys v0.0.0-20210113000019-eaf3bda374d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
+golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
index e52ce9599618ea713c10b031a00a0c7e30ae26f3..4c9cd403949f53089b2bb3cd899b79bccdf489db 100644 (file)
@@ -36,11 +36,9 @@ type Msg_item struct {
 //New 初始化
 func New(c Config) (o *Log_interface) {
 
-    o = new(Log_interface)
-
-    //设置
-    o.Config = c
-    
+    o = &Log_interface{
+        Config:c,
+    }
     if c.File != `` {p.File().NewPath(c.File)}
 
     o.MQ = m.New(100)
@@ -78,10 +76,10 @@ func New(c Config) (o *Log_interface) {
 
 //
 func Copy(i *Log_interface)(o *Log_interface){
-    o = new(Log_interface)
-    //设置
-    o.Config = (*i).Config
-    o.MQ = (*i).MQ
+    o = &Log_interface{
+        Config:(*i).Config,
+        MQ:(*i).MQ,
+    }
     {//启动阻塞
         b := s.Init()
         for b.Islive() {
index 157fe494b97a1022d7258fdb40f2a0fde7fd42c7..fe00760d835407f231550f621cb1733e424313bd 100644 (file)
@@ -1,7 +1,13 @@
 package part
 
 import (
-       "testing"
+    // "fmt"
+    "runtime"
+    "time"
+    "testing"
+    
+       "net/http"
+       _ "net/http/pprof"
 )
 
 type test_item struct {
@@ -29,4 +35,32 @@ func Test_1(t *testing.T) {
 
     n.Level(map[string]struct{}{`W:`:On}).L(`T:`,`s`).L(`I:`,`s`).L(`W:`,`s`).L(`E:`,`s`)
     n.Block(1000)
+}
+
+
+var n *Log_interface
+
+func Test_2(t *testing.T) {
+    n = New(Config{
+        File:`1.log`,
+        Stdout:true,
+        Prefix_string:map[string]struct{}{`T:`:On,`I:`:On,`W:`:On,`E:`:On},
+    })
+
+       go func() {
+               http.ListenAndServe("0.0.0.0:8899", nil)
+    }()
+    // n = nil
+    for {
+        n:=n.Base_add(`>1`)
+        n.L(`T:`,`s`)
+        time.Sleep(time.Second*time.Duration(1))
+        // n=nil
+    }
+    n.L(`T:`,`s`)
+    runtime.GC()
+    time.Sleep(time.Second*time.Duration(1000))
+    // fmt.Printf("%p %p\n",n.MQ,n1.MQ)
+    // n1 = nil
+    // fmt.Println(n)
 }
\ No newline at end of file