g'day,
i have always wanted to create a personal application which can throttle/prioritize the network traffic of my machine on a per process basis. so that i can de-prioritize certian applications from hogging my bandwidth (e.g. slow down bit-torrent downloads so that i can focus bandwith onto browsing the internet)
i came across a library called WinPCap(and a cool .NET wrapper) today, which got my hopes up ... intill i found out that it could only view incoming/outgoing packets, and not actually affect/slow down thier travels in any way.
although i realise that it may not be the best choice (for memory concerns) i want to create this application in C# ... because i am the most familiar with it (and it would be the most fun... seeing as this would mostly be a personal learning activity rather than much else).
Can anyone help me in finding some libraries, namespaces or APIs that i can use to help me achieve this. The only way i would think of how to do this is to throttle the network on a per packet basis (checking the origin/destination of each packet), but if there was an API which allowed me to set throttles on a per process basis, that would be awesome. or if there is any other way to do it that would be cool aswell.
any info at all would be appreciated.
thx :)