# PRE: update if foreach # # Load-Balance blocks. # # Should distribute load between the modules. # update request { Tmp-Integer-0 := 0 Tmp-Integer-1 := 0 Tmp-Integer-2 += 0 # 0 Tmp-Integer-2 += 1 Tmp-Integer-2 += 2 Tmp-Integer-2 += 3 Tmp-Integer-2 += 4 Tmp-Integer-2 += 5 Tmp-Integer-2 += 6 Tmp-Integer-2 += 7 Tmp-Integer-2 += 8 Tmp-Integer-2 += 9 # 10 Tmp-Integer-2 += 0 Tmp-Integer-2 += 1 Tmp-Integer-2 += 2 Tmp-Integer-2 += 3 Tmp-Integer-2 += 4 Tmp-Integer-2 += 5 Tmp-Integer-2 += 6 Tmp-Integer-2 += 7 Tmp-Integer-2 += 8 Tmp-Integer-2 += 9 # 20 Tmp-Integer-2 += 0 Tmp-Integer-2 += 1 Tmp-Integer-2 += 2 Tmp-Integer-2 += 3 Tmp-Integer-2 += 4 Tmp-Integer-2 += 5 Tmp-Integer-2 += 6 Tmp-Integer-2 += 7 Tmp-Integer-2 += 8 Tmp-Integer-2 += 9 # 30 Tmp-Integer-2 += 0 Tmp-Integer-2 += 1 Tmp-Integer-2 += 2 Tmp-Integer-2 += 3 Tmp-Integer-2 += 4 Tmp-Integer-2 += 5 Tmp-Integer-2 += 6 Tmp-Integer-2 += 7 Tmp-Integer-2 += 8 Tmp-Integer-2 += 9 # 40 Tmp-Integer-2 += 0 Tmp-Integer-2 += 1 Tmp-Integer-2 += 2 Tmp-Integer-2 += 3 Tmp-Integer-2 += 4 Tmp-Integer-2 += 5 Tmp-Integer-2 += 6 Tmp-Integer-2 += 7 Tmp-Integer-2 += 8 Tmp-Integer-2 += 9 # 49 } # # Loop 0..9 # foreach &Tmp-Integer-2 { load-balance { group { update request { Tmp-Integer-0 := "%{expr:%{Tmp-Integer-0} + 1}" Filter-Id += "PICKED GROUP 1 %{Tmp-Integer-0} TIME(S)" } ok } group { update request { Tmp-Integer-1 := "%{expr:%{Tmp-Integer-1} + 1}" Filter-Id += "PICKED GROUP 2 %{Tmp-Integer-1} TIME(S)" } ok } } } # The chances of one group being used over another 50 times by random occurrence # is quite small, and if this happens repeatedly, it's likely there's a bug in # the load-balance code or random number generator. if ((&Tmp-Integer-0 == 0) || (&Tmp-Integer-1 == 0)) { update reply { Filter-Id += "fail 1 %{Tmp-Integer-0}/%{Tmp-Integer-1})" } } else { update reply { Filter-Id := 'filter' } }