]> 127.0.0.1 Git - part/.git/commitdiff
req id v0.5.15
authorqydysky <qydysky@foxmail.com>
Tue, 11 May 2021 07:58:29 +0000 (15:58 +0800)
committerqydysky <qydysky@foxmail.com>
Tue, 11 May 2021 07:58:29 +0000 (15:58 +0800)
io/io.go
reqf/Reqf.go

index 1572fdf0b426ce1d458b7774f980b136c0f3f0ba..fb0be3302b69707eb0d9f0ac12eef2a657fec03e 100644 (file)
--- a/io/io.go
+++ b/io/io.go
@@ -12,10 +12,10 @@ func RW2Chan(r io.ReadCloser,w io.WriteCloser) (rc,wc chan[]byte) {
                go func(rc chan[]byte,r io.ReadCloser){
                        for {
                                buf := make([]byte, 1<<16)
-                               n,_ := r.Read(buf)
+                               n,e := r.Read(buf)
                                if n != 0 {
                                        rc <- buf[:n]
-                               } else {
+                               } else if e != nil {
                                        close(rc)
                                        break
                                }
index 2b3b9d2c84467075ab5d1abe714c1a49c63f4eaa..34ac6cf77f34b32e387b6f44faa2241221dfe0e0 100644 (file)
@@ -41,12 +41,17 @@ type Req struct {
     UsedTime time.Duration
 
     id *idpool.Id
+    idp *idpool.Idpool
     cancel *signal.Signal
     sync.Mutex
 }
 
 func New() *Req{
-    return &Req{}
+    idp := idpool.New()
+    return &Req{
+        idp:idp,
+        id:idp.Get(),
+    }
 }
 
 // func main(){
@@ -69,14 +74,9 @@ func (this *Req) Reqf(val Rval) (error) {
 
     if _val.Timeout==0{_val.Timeout=3}
 
-    {
-        idp := idpool.New()
-        this.id = idp.Get()
-        defer func(){
-            idp.Put(this.id)
-            this.id = nil
-        }()
-    }
+    defer func(){
+        this.idp.Put(this.id)
+    }()
 
     this.cancel = signal.Init()