def remove(host, port, &blk)
      identity = self.class.identity(host, port)
      if broker = @brokers_hash[identity]
        logger.info("Removing #{identity}, alias #{broker.alias} from broker list")
        broker.close(propagate = true, normal = true, log = false)
        @brokers_hash.delete(identity)
        @brokers.reject! { |b| b.identity == identity }
        yield identity if block_given?
      else
        logger.info("Ignored request to remove #{identity} from broker list because unknown")
        identity = nil
      end
      identity
    end
def remove(host, port, &blk)
      identity = self.class.identity(host, port)
      if broker = @brokers_hash[identity]
        logger.info("Removing #{identity}, alias #{broker.alias} from broker list")
        broker.close(propagate = true, normal = true, log = false)
        @brokers_hash.delete(identity)
        @brokers.reject! { |b| b.identity == identity }
        yield identity if block_given?
      else
        logger.info("Ignored request to remove #{identity} from broker list because unknown")
        identity = nil
      end
      identity
    end
Remove a broker client from the configuration
 Invoke connection status callbacks only if connection is not already disabled
 There is no check whether this is the last usable broker client

 === Parameters
 host{String):: IP host name or address for individual broker
 port(Integer):: TCP port number for individual broker

 === Block
 Optional block with following parameters to be called after removing the connection
 unless broker is not configured
   identity(String):: Broker serialized identity

 === Return
 identity(String|nil):: Serialized identity of broker removed, or nil if unknown