Commit b2ccb368 authored by Antoine Millet's avatar Antoine Millet
Browse files

Added feature to embed data on asynchronous calls.

parent 4a764643
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -267,10 +267,17 @@ class RpcConnection(object):
        :return: the message id of the call
        '''

        # Extract _data from argument:
        if '_data' in kwargs:
            data = kwargs['_data']
            del kwargs['_data']
        else:
            data = None

        # Send the call to the peer:
        msg_id = self._send_call(method_name, *args, **kwargs)

        self._calls[msg_id] = {'async': True}
        self._calls[msg_id] = {'async': True, 'data': data}

        return msg_id

@@ -323,6 +330,7 @@ class RpcConnection(object):
                else:
                    # Else, it's an asynchonous call, so, we need to notify
                    # manager that the response has been received:
                    message['data'] = call['data']
                    self._manager.signal_arrival(message)

                    # Message will be deleted from the call list by the