docs: def shutdown(self):
          """
          Disconnect all cached connections.
  
          @returns: a deferred that fires once all connection are disconnected.
          @rtype: L{Deferred}
          """
          self._shuttingDown = {key: Deferred()
                                for key in self.cachedConnections.keys()}
          return DeferredList(
              [maybeDeferred(p.transport.loseConnection)
               for p in self.cachedConnections.values()]
               + self._shuttingDown.values())