 grep -A 15 "function rule::reapply_all" /etc/wireguard/wgctl/modules/rule.module.sh
function rule::reapply_all() {
  local rule_name="${1:-}"
  rule::require_exists "$rule_name" || return 1

  local peers=()
  mapfile -t peers < <(peers::with_rule "$rule_name")
  [[ ${#peers[@]} -eq 0 ]] && return 0

  local count=0
  for peer_name in "${peers[@]}"; do
    local client_ip
    client_ip=$(peers::get_ip "$peer_name")
    [[ -z "$client_ip" ]] && continue
    rule::unapply "$rule_name" "$client_ip"
    rule::apply "$rule_name" "$client_ip" "$peer_name"
    (( count++ )) || true