use ConcurrentHashMaps for connections and channels. The iterator can deal with connections that disappear during shutdown