robin
SAM3.1 can only have one STREAM ACCEPT pending at a time. But can it have multiple _active_ stream connections?
zzz
no, both are unlimited
robin
Spec says there is an ALREADY_ACCEPTING error in 3.1
zzz
spec says:
zzz
As of SAM 3.2, multiple concurrent pending STREAM ACCEPTs are allowed on the same session ID (even with the same port). Prior to 3.2, concurrent accepts would fail with ALREADY_ACCEPTING.
zzz
but I think that's wrong, I think it was fixed in the 3.2 timeframe but was fixed for 3.1 as well
zzz
try it and let me know
robin
Ok, for now I will comment out the code that would have detected the condition and see what happens.
robin
When the time comes I will need 3.1 and 3.2 routers to test against.
robin
I suppose I cna build those from sources by fetching appropriate tags
zzz
no need, just set the appropriate min/max
zzz
I think I probably put that line in because we were waiting for i2pd to support it; not sure if they ever did, you'd have to ask orignal
robin
So if I say HELLO VERSION MAX=3.1 then even a modern router will 'degrade' its functionality?
zzz
yes
zzz
that's the whole point of min/max
robin
Ah, OK. Much easier
zzz
I peaked at our code and I'm about 99% sure we support concurrent accepts. I peaked at i2pd's code and I'm about 80% sure they don't.
robin
All I can detect is the SAM version number, not which implementation it is. But I will get the ALREADY_ACCEPTING error anyway
zzz
yeah, java offers some 3.2/3.3 "bonus features" for 3.1 like that, no reason not to really
zzz
I'll add a note to the spec
robin
As long as i2pd advertises being SAM v3.1 it should all work
zzz
right
zzz
so that's why the spec says what it does