look for & kill expired workers . workers are oldest to most recent , so we stop at the first alive worker . concode_field_sep ZFrame address concode_elem_sep int HEARTBEAT_LIVENESS concode_elem_sep Deque<Worker> waiting concode_elem_sep ZContext ctx concode_elem_sep Deque<ZMsg> requests concode_elem_sep Map<String,Service> services concode_elem_sep Formatter log concode_elem_sep int HEARTBEAT_EXPIRY concode_elem_sep long heartbeatAt concode_elem_sep int HEARTBEAT_INTERVAL concode_elem_sep boolean verbose concode_elem_sep String identity concode_elem_sep Service service concode_elem_sep String name concode_elem_sep String INTERNAL_SERVICE_PREFIX concode_elem_sep long expiry concode_elem_sep ZMQ.Socket socket concode_elem_sep Map<String,Worker> workers concode_field_sep Service requireService concode_elem_sep void dispatch concode_elem_sep Worker requireWorker concode_elem_sep void mediate concode_elem_sep void serviceInternal concode_elem_sep void destroy concode_elem_sep void main concode_elem_sep void sendToWorker concode_elem_sep void workerWaiting concode_elem_sep void processClient concode_elem_sep void bind concode_elem_sep void processWorker concode_elem_sep void deleteWorker concode_elem_sep void sendHeartbeats
void function ( ) { Iterator < Worker > loc0 = waiting . loc0 ( ) ; while ( loc0 . hasNext ( ) ) { Worker loc1 = loc0 . next ( ) ; if ( loc1 . expiry < System . currentTimeMillis ( ) ) { loc0 . remove ( ) ; log . format ( "srini_string" , loc1 . identity ) ; deleteWorker ( loc1 , false ) ; } } }