func (r *DefaultRouter) forward(node api.Node, channelName string, message []byte) error { for _, p := range r.Patches { //todo: this could be constant-time if channelName == p.From { for i := 0; i < len(p.To); i++ { if err := node.Forward(p.To[i], message); err != nil { return err } } return nil } } if err := node.Forward(channelName, message); err != nil { return err } return nil }