def on_balance_request_cell(self, source_address, data, _): payload = self._ez_unpack_noauth(BalanceRequestPayload, data, global_time=False) circuit_id = payload.circuit_id request = self.request_cache.get(u"anon-circuit", circuit_id) if request.should_forward: forwarding_relay = RelayRoute(request.from_circuit_id, request.peer) self.send_cell([forwarding_relay.peer.address], u"relay-balance-request", BalanceRequestPayload(forwarding_relay.circuit_id)) else: self.on_balance_request(payload)
def on_balance_request_cell(self, source_address, data, _): _, payload = self._ez_unpack_noauth(BalanceRequestPayload, data) circuit_id = payload.circuit_id request = self.request_cache.get(u"anon-circuit", circuit_id) if request.should_forward: forwarding_relay = RelayRoute(request.from_circuit_id, request.candidate_sock_addr, mid=request.candidate_mid) self.send_cell([forwarding_relay.sock_addr], u"relay-balance-request", BalanceRequestPayload(forwarding_relay.circuit_id)) else: self.on_balance_request(payload)
def on_balance_request_cell(self, source_address, data, _): payload = self._ez_unpack_noauth(BalanceRequestPayload, data, global_time=False) if self.request_cache.has(u"create", payload.circuit_id): request = self.request_cache.get(u"create", payload.circuit_id) forwarding_relay = RelayRoute(request.from_circuit_id, request.peer) self.send_cell([forwarding_relay.peer.address], u"relay-balance-request", BalanceRequestPayload(forwarding_relay.circuit_id)) elif self.request_cache.has(u"circuit", payload.circuit_id): self.on_balance_request(payload) else: self.logger.warning("Circuit creation cache for id %s not found!", payload.circuit_id)