in ``` ws.mu.Lock() if ws.isClosed { ws.isClosed = false ws.mu.Unlock() return } ws.mu.Unlock() ``` When `Connect` return, it will not try connect again, why need `isClosed` here?