#NEWLINE# def multicall( context , topic , msg , timeout = None , check_for_lock = False ) : #NEWLINE# #INDENT# 'Invoke a remote method and get back an iterator.\n\n    In this case, the remote method will be returning multiple values in\n    separate messages, so the return values can be processed as the come in via\n    an iterator.\n\n    :param context: Information that identifies the user that has made this\n                    request.\n    :param topic: The topic to send the rpc message to.  This correlates to the\n                  topic argument of\n                  openstack.common.rpc.common.Connection.create_consumer()\n                  and only applies when the consumer was created with\n                  fanout=False.\n    :param msg: This is a dict in the form { "method" : "method_to_invoke",\n                                             "args" : dict_of_kwargs }\n    :param timeout: int, number of seconds to use for a response timeout.\n                    If set, this overrides the rpc_response_timeout option.\n    :param check_for_lock: if True, a warning is emitted if a RPC call is made\n                    with a lock held.\n\n    :returns: An iterator.  The iterator will yield a tuple (N, X) where N is\n              an index that starts at 0 and increases by one for each value\n              returned and X is the Nth value that was returned by the remote\n              method.\n\n    :raises: openstack.common.rpc.common.Timeout if a complete response\n             is not received before the timeout is reached.\n    ' #NEWLINE# if check_for_lock : #NEWLINE# #INDENT# _check_for_lock ( ) #NEWLINE# #UNINDENT# return _get_impl ( ) . multicall ( CONF , context , check_for_lock , msg , timeout )