I don't think having a panic here is a good idea. This will crash the program in the event that a reconnect fails, and there's no way to recover from it since listen() runs in its own goroutine.