max_flow = 0.0f;
in_on_zero = 0;
in_ready = 0;
- actual_flow = 999999;
+ actual_flow = INFINITO;
updated = false;
}
in_on_zero++;
tmp = 0.0f;
who->recieve_msg(MSG_RESPONSE_MAX_FLOW, this, &tmp);
- if (in_on_zero == 1) {
- if (in_ready == 0)
- tmp = max_flow;
- else
- tmp = actual_flow/2.0f;
+ switch (in_on_zero) {
+ case 1:
+ if (in_ready == 0)
+ tmp = max_flow;
+ else
+ tmp = actual_flow/2.0f;
+ break;
+ case 0:
+ if (in_ready == 1) {
+ tmp = actual_flow/2.0f;
+ }
+ break;
+ case 2:
+ tmp = 0.0f;
}
send_msg(OUT, MSG_QUERY_MAX_FLOW_OUT, &tmp);
} else {
case 2:
actual_flow = 0;
}
- if (!updated)
- send_msg(OUT, MSG_QUERY_MAX_FLOW_OUT, &actual_flow);
+ send_msg(OUT, MSG_QUERY_MAX_FLOW_OUT, &actual_flow);
tmp = (in_on_zero==0)?actual_flow/2.0f:actual_flow;
who->recieve_msg(MSG_RESPONSE_MAX_FLOW, this, &tmp);
}
if (updated) return;
// Seteo mi actualizar en true para evitar entrar de nuevo
- // FIXME : 99999 == INFINITO!!
- actual_flow = 99999;
+ actual_flow = INFINITO;
updated = true;
switch (dir) {
case IN: