IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#ls2
/2023/02/03
orignal zzz for how long do you wait missing packets before you start including then in Ack in SSU2?
zzz orignal, making sure I understand =
zzz how long do I wait before sending an ack?
orignal say I receive 1,2,4,5
orignal for how long I wait for 3 before I start sending Ack without ranges and with acnt=4
zzz for me:
zzz I don't care if any or missing or not
zzz after receiving the first packet, I wait:
zzz rtt / 6, minimum 10, maximum 150 ms
zzz then send the ack
zzz maybe with nacks, maybe not
zzz I don't ever change and send 'ack without ranges' until I get 3
zzz if 3 is gone, it's gone forever
zzz if you decide 3 is "too old" then ack 5-4, but don't "lie" and ack 5-1
orignal but when you start sensing 5-4 without ranges
zzz I don't. I keep it simple. I don't "remember" when I got a packet
orignal and what's wrong if I lie that I have received 3 say after 10 seconds
orignal bascially my problem is
orignal guys comlain that I send too much ranges
orignal and it's execcive CPU usage
zzz but if 10 seconds is long enough for 3, it's long enough for 2 and 1 also
zzz how many ranges do you send?
orignal up to 32
zzz that's fine, but do you have a max total from beginning to end?
orignal say before 10 second I send 1 range, after 10 secnds I send without range
orignal like I have receied 3
zzz I mean total size of bitfield. Could you send ACK 255 nack 1 ack 255 nack 1 ack 255 nack 1 ... 32 ranges total?
zzz which would be 32 * 256 = 8K size?
orignal I mean 32 ranges
orignal e.g. 64 bytes
zzz right
zzz but what's the max size of your bitfield (unencoded), from first bit to last bit, before you encode it into ranges?
orignal this problem is that I go through list of out-of -sequence packets too frequeitly
zzz how many packets do you remember?
orignal I don't use bitfields
orignal up to 1024
orignal not packets just numbers
orignal and I remeber on out-of-sequence
orignal so I think it's worth to delete it by time
zzz ok so your total size, adding up all the acks and nacks, is less than 1024?
orignal my total size never exeeeds 64 bytes
orignal number of packets can be more
zzz I don't think I'm explaining it right
zzz when you send ack ranges, you're acking and nacking a number of packets
orignal I can easily send all ranges with 0 nacks
orignal e.g. uop to 32*255
zzz the number of packets is 1 + (total of all acks and nacks in all ranges)
orignal 512 total?
orignal yes but even 512 might produce bunch of ranges
zzz sure
zzz actually, I "shift" 128 at a time, so I only remember between 384 and 512 total, yes
zzz but anything more than 512 is way too old
zzz if you're "remembering" 32K, that's an easy fix, reduce to 512
orignal my approach is different
orignal I don't remeber in sequence packets
orignal I remeber only out of sequence
orignal not packet but numbers
zzz yeah but if you send me more than 512 acks+nacks, I don't care, it's a waste, I already "forgot"
zzz so just stop when you get to 512
zzz ack 255 nack 0 ack 255 nack 0 -> stop, no more ranges needed
orignal good idea
orignal will do
orignal so 512. right?
orignal good point anyway
zzz after that, I don't care, don't send more ranges to me )))
zzz yes. 512 is what I have now. Even that _may_ be too much, but that's what I have right now
orignal and I can delete all out of sequence beyond 512 I guess
zzz correct
orignal that's what I wanted to know
orignal it improves a lot
zzz great. try that before you do anything more complicated :)
orignal CreateAckBlock consume 20% of SSU2 thread now
orignal Vort has measured
zzz whoa
zzz Vort doing good work over there ))