Opened 5 years ago

Closed 3 years ago

#1434 closed defect (fixed)

Don't request LS from client until we have OB tunnels too

Reported by: zzz Owned by:
Priority: minor Milestone: 0.9.21
Component: router/general Version: 0.9.17
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

I2CP clients block until the 1st LS request comes in, essentially using that as an indication the router is ready, although this probably isn't documented anywhere.

My claim to dinamic, when advising him on libi2cp, is that IB tunnels are harder to build, so you can be fairly sure the first OB tunnels are ready too. But we also start building IB tunnels sooner, so that may not be true on average either. So the first message out is frequently getting dropped in OCMOSJ.

He suggested some sort of new I2CP message to indicate that at least one OB and IB tunnel are ready. But would be a lot easier to just block sending the first LS request to the client until we have an OB tunnel also. We already have a delay mechanism in there for other reasons? or just for publish(LS) in KNDF?

TunnelPool?.refreshLeaseSet() calls requestLeaseSet() in router-side I2CP…

Subtickets

Change History (3)

comment:1 Changed 5 years ago by zzz

TunnelPool?.refreshLeaseSet()

ClientManagerFacadeImpl?.requestLeaseSet()

ClientManager?.requestLeaseSet()

ClientConnectionRunner?.requestLeaseSet() ←- put it here

comment:2 Changed 4 years ago by str4d

Status: newopen

comment:3 Changed 3 years ago by zzz

Milestone: 0.9.180.9.21
Resolution: fixed
Status: openclosed

Fixed in 0.9.21

Note: See TracTickets for help on using tickets.