Ejemplo n.º 1
0
// GetAllBrokersForDevAddr returns all brokers that can handle the given DevAddr
func (c *DefaultClient) GetAllBrokersForDevAddr(devAddr types.DevAddr) (announcements []*Announcement, err error) {
	brokers, err := c.GetAll("broker")
	if err != nil {
		return nil, err
	}
next:
	for _, broker := range brokers {
		for _, prefix := range broker.DevAddrPrefixes() {
			if devAddr.HasPrefix(prefix) {
				announcements = append(announcements, broker)
				continue next
			}
		}
	}
	return
}