Opened 4 years ago

Last modified 4 years ago

#1613 open defect

SSU packet ordering issues / restore multiple PacketHandler threads

Reported by: zzz Owned by: zzz
Priority: minor Milestone: soon
Component: router/transport Version: 0.9.20
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

PacketHandler? threads were reduced to 1 due to issues raised in #660 andhttp://zzz.i2p/topics/1198 post 8. While SSU can handle packets out-of-order, it can't handle a Data packet before the SessionConfirmed?.

Other packets before SessionConfirmed? (relay etc.) are possible but much less likely.

Even without multithreading, packets could get reordered or dropped in the internet. A dropped SessionConfirmed? would appear to be fatal? We don't retx it? That's a separate problem…

A Data packet coming after a Destroy packet would also be dropped but is much less likely, if not impossible, since we'd only send a Destroy after idle.

Multiple threads may make SSU go faster (although zab in #660 was skeptical… need to do tests), so we should queue Data packets received on an unconfirmed connection and wait for the SessionConfirmed?.

Subtickets

Change History (1)

comment:1 Changed 4 years ago by str4d

Status: newopen
Note: See TracTickets for help on using tickets.