deregisterBroker removes a broker from the broker list, and if it's not in the broker list, removes it from seedBrokers.
(broker *Broker)
| 763 | // deregisterBroker removes a broker from the broker list, and if it's |
| 764 | // not in the broker list, removes it from seedBrokers. |
| 765 | func (client *client) deregisterBroker(broker *Broker) { |
| 766 | client.lock.Lock() |
| 767 | defer client.lock.Unlock() |
| 768 | |
| 769 | _, ok := client.brokers[broker.ID()] |
| 770 | if ok { |
| 771 | Logger.Printf("client/brokers deregistered broker #%d at %s", broker.ID(), broker.Addr()) |
| 772 | delete(client.brokers, broker.ID()) |
| 773 | return |
| 774 | } |
| 775 | if len(client.seedBrokers) > 0 && broker == client.seedBrokers[0] { |
| 776 | client.deadSeeds = append(client.deadSeeds, broker) |
| 777 | client.seedBrokers = client.seedBrokers[1:] |
| 778 | } |
| 779 | } |
| 780 | |
| 781 | func (client *client) resurrectDeadBrokers() { |
| 782 | client.lock.Lock() |
no test coverage detected