closed := int32(0)
- c = wrappedConn{
+ c = &wrappedConn{
Conn: c,
server: wl.server,
closed: &closed,
perWritePerKbTimeout time.Duration
}
-func (w wrappedConn) Write(p []byte) (n int, err error) {
+func (w *wrappedConn) Write(p []byte) (n int, err error) {
if w.perWriteTimeout > 0 {
minTimeout := time.Duration(len(p)/1024) * w.perWritePerKbTimeout
minDeadline := time.Now().Add(minTimeout).Add(w.perWriteTimeout)
return w.Conn.Write(p)
}
-func (w wrappedConn) Close() error {
+func (w *wrappedConn) Close() error {
if atomic.CompareAndSwapInt32(w.closed, 0, 1) {
defer func() {
if err := recover(); err != nil {