

def _send(self, invocation, connection, ignore_heartbeat):
    correlation_id = self._next_correlation_id.get_and_increment()
    message = invocation.request
    message.set_correlation_id(correlation_id)
    message.set_partition_id(invocation.partition_id)
    self._pending[correlation_id] = invocation
    if (not invocation.timer):
        invocation.timer = self._client.reactor.add_timer_absolute(invocation.timeout, invocation.on_timeout)
    if isinstance(invocation, ListenerInvocation):
        self._event_handlers[correlation_id] = invocation
    e.logger.debug('Sending %s to %s', message, connection)
    if ((not ignore_heartbeat) and (not connection.heartbeating)):
        self._handle_exception(invocation, TargetDisconnectedError(('%s has stopped heart beating.' % connection)))
        return
    invocation.sent_connection = connection
    try:
        connection.send_message(message)
    except IOError as e:
        self._handle_exception(invocation, e)

dataset/ETHPy150Open hazelcast/hazelcast-python-client/hazelcast/invocation.py InvocationService._send/VarMisuse@109/155 `self`->`e`