Publishing now waits at most 10s for a connection. Opening the channel is guarded by a lock so concurrent callers share one connection, and disconnect handlers are attached once per channel so they no longer multiply on every reconnect.