Pool cleanups, readd wait for TCP
This commit is contained in:
parent
05ace47df8
commit
ac2ee587b1
6
pool.go
6
pool.go
|
@ -12,9 +12,9 @@ type queued struct {
|
|||
buf []byte
|
||||
}
|
||||
|
||||
func pool(size int) (get, give chan []byte) {
|
||||
get = make(chan []byte, 400) // TODO(miek): this number is arbitrary
|
||||
give = make(chan []byte, 400)
|
||||
func pool(size, bufsize int) (get, give chan []byte) {
|
||||
get = make(chan []byte, bufsize)
|
||||
give = make(chan []byte, bufsize)
|
||||
|
||||
go func() {
|
||||
q := new(list.List)
|
||||
|
|
|
@ -227,7 +227,7 @@ func (srv *Server) ListenAndServe() error {
|
|||
srv.UDPSize = MinMsgSize
|
||||
}
|
||||
if srv.Pool {
|
||||
srv.get, srv.give = pool(srv.UDPSize)
|
||||
srv.get, srv.give = pool(srv.UDPSize, 400) // Arbitrary number.
|
||||
}
|
||||
switch srv.Net {
|
||||
case "tcp", "tcp4", "tcp6":
|
||||
|
@ -361,6 +361,7 @@ Exit:
|
|||
}
|
||||
|
||||
func (srv *Server) readTCP(conn *net.TCPConn, timeout time.Duration) ([]byte, error) {
|
||||
conn.SetReadDeadline(time.Now().Add(timeout))
|
||||
l := make([]byte, 2)
|
||||
n, err := conn.Read(l)
|
||||
if err != nil || n != 2 {
|
||||
|
|
Loading…
Reference in New Issue