| if we received some real load, get it (data messages)
| if there is some real load to send, send it
| if we own some load, simulate some computing on it
+ | sleep a bit if we are looping too fast
+-
send CLOSE on data for all neighbors
wait for CLOSE on data from all neighbors
Loop
| call load-balancing algorithm
| send ctrl messages
+ | sleep (min_lb_iter_duration)
| receive ctrl messages
+-
send CLOSE on ctrl for all neighbors