From 8f03e7984995683c69c939c11e9958ac2e8242fc Mon Sep 17 00:00:00 2001 From: xvzc Date: Thu, 12 May 2022 21:21:54 +0900 Subject: [PATCH] update --- net/conn.go | 42 ++++++++++++------------------------------ 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/net/conn.go b/net/conn.go index d00f6c8..2b5989c 100644 --- a/net/conn.go +++ b/net/conn.go @@ -1,7 +1,7 @@ package net import ( - "io" + "errors" "net" "time" @@ -70,45 +70,27 @@ func (conn *Conn) WriteChunks(c [][]byte) (n int, err error) { } func (conn *Conn) ReadBytes() ([]byte, error) { - // ret := make([]byte, 0) - // buf := make([]byte, BUF_SIZE) + ret := make([]byte, 0) + buf := make([]byte, BUF_SIZE) - // for { - // n, err := conn.Read(buf) - // if err != nil { - // switch err.(type) { - // case *net.OpError: - // return nil, errors.New("timed out") - // default: - // return nil, err - // } - // } - // ret = append(ret, buf[:n]...) - - // if n == 0 { - // return nil, io.EOF - // } - - // if n < BUF_SIZE { - // break - // } - // } - buf := make([]byte, 0, 4096) // big buffer - tmp := make([]byte, 256) // using small tmo buffer for demonstrating for { - n, err := conn.Read(tmp) + n, err := conn.Read(buf) if err != nil { - if err != io.EOF { + switch err.(type) { + case *net.OpError: + return nil, errors.New("timed out") + default: return nil, err } + } + ret = append(ret, buf[:n]...) + if n < BUF_SIZE { break } - - buf = append(buf, tmp[:n]...) } - return buf, nil + return ret, nil } func (lConn *Conn) HandleHttp(p *packet.HttpPacket) {