[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: "Niceness" for network transfers
From: Thiago Macieira <thiago.macieira () kdemail ! net>
Date: 2005-02-17 19:50:59
Message-ID: 200502171750.59991.thiago.macieira () kdemail ! net
[Download RAW message or body]
[Attachment #2 (multipart/signed)]
Rainer Wirtz wrote:
>My question to the geeks: Is there any provision for this functionality
>in IPv4 and/or IPv6? And, if yes, what are the chances for this to
>become available on kde-application level. And what could I do to help
>accelerating this.
IPv6 has something you could call a distant cousin of what you want:
flowlabels. In theory, they can be used to prioritise traffic. (More or
less like IPv4's TOS, but much more flexible).
In practice, no router prioritises according to flowlabel/flowid.
The solution is to try and and add limiting filters to your traffic
control/shaping routines. This is probably the best.
Having said that, however, there's a way we can do that in userspace: by
allowing the kernel socket buffer to fill up, the kernel will stop
sending ACKs for received packets, which will in turn make the sender
throttle down it's output. Therefore, by carefully controlling the read
rate (kernel -> application), we can more or less control the bandwidth
used.
I have never tried doing that, but my gut feeling is that it would work.
Note: you cannot use the buffered socket classes for this, because their
job is to read from the kernel as fast as they can.
--
Thiago Macieira - thiago (AT) macieira (DOT) info
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
2. Tó cennan his weorc gearu, ymbe se circolwyrde, wearð se cægbord and se
leohtspeccabord, and þa mýs cómon lator. On þone dæg, he hine reste.
[Attachment #5 (application/pgp-signature)]
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic