3 Commits

Author SHA1 Message Date
d6cf83051e Merge branch 'main' into chore01 2025-08-29 03:14:51 +05:30
fe761baa49 Merge branch 'main' into chore01 2025-08-25 16:29:23 +05:30
5de09ed8a1 Improve relay selection to prioritize active reservations
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com>
2025-08-19 04:53:50 +05:30

View File

@ -219,11 +219,25 @@ class CircuitV2Transport(ITransport):
# Get a relay from the list of discovered relays
relays = self.discovery.get_relays()
if relays:
# TODO: Implement more sophisticated relay selection
# For now, just return the first available relay
return relays[0]
# Prioritize relays with active reservations
relays_with_reservations = []
other_relays = []
for relay_id in relays:
relay_info = self.discovery.get_relay_info(relay_id)
if relay_info and relay_info.has_reservation:
relays_with_reservations.append(relay_id)
else:
other_relays.append(relay_id)
# Return first available relay with reservation, or fallback to others
if relays_with_reservations:
return relays_with_reservations[
attempts % len(relays_with_reservations)
]
elif other_relays:
return other_relays[attempts % len(other_relays)]
# Wait and try discovery
await trio.sleep(1)
attempts += 1