<s> from calvin . utilities import dynops <EOL> from calvin . utilities import calvinlogger <EOL> _log = calvinlogger . get_logger ( __name__ ) <EOL> def req_op ( node , requires , actor_id = None , component = None ) : <EOL> """<STR_LIT>""" <EOL> if not requires : <EOL> _log . analyze ( node . id , "<STR_LIT>" , { '<STR_LIT>' : actor_id } ) <EOL> return dynops . Infinite ( cb ) <EOL> iters = [ ] <EOL> for r in requires : <EOL> _log . analyze ( node . id , "<STR_LIT:+>" , { '<STR_LIT>' : r } ) <EOL> iters . append ( node . storage . get_index_iter ( [ '<STR_LIT>' , '<STR_LIT>' , r ] ) ) <EOL> it = dynops . Intersection ( * iters ) <EOL> it . set_name ( "<STR_LIT>" ) <EOL> return it </s>
