Add net-limit module for limiting network bandwidth.
commit31e043da53b66cbe0976cdc2fc6bc7e6a1d8e141
authorDavid Brodsky <trekie@sinister.cz>
Thu, 19 Oct 2006 13:14:28 +0000 (19 15:14 +0200)
committerDavid Brodsky <trekie@sinister.cz>
Thu, 19 Oct 2006 13:14:28 +0000 (19 15:14 +0200)
treeab410c1f875a4f1d7b4886b65b543317bbf2de74
parent43a2e9cb29cb00c8bfa373c0c6de638079d18935
Add net-limit module for limiting network bandwidth.

Tairon::Net::Limiter counts size of transferred data and permits more data to
be transferred if there is free bandwidth.

Tairon::Net::Reader is a base class for reading from socket accordingly to
attached Limiter. This class cannot be used directly becuase its pointer to a
buffer must be set.

Tairon::Net::IReader is a subclass of Tairon::Net::Reader and creates internal
buffer of specific size.

Tairon::Net::LimitManager is used to reset Limiters every second so more
transfer can occur.

Note that limiting bandwidth at this network level isn't accurate because size
of the packet header isn't included in the size of transferred data.
15 files changed:
include/tairon/net/Jamfile
include/tairon/net/ireader.h [new symlink]
include/tairon/net/limiter.h [new symlink]
include/tairon/net/limitmanager.h [new symlink]
include/tairon/net/reader.h [new symlink]
src/Jamfile
src/net-limit/Jamfile [new file with mode: 0644]
src/net-limit/ireader.cpp [new file with mode: 0644]
src/net-limit/ireader.h [new file with mode: 0644]
src/net-limit/limiter.cpp [new file with mode: 0644]
src/net-limit/limiter.h [new file with mode: 0644]
src/net-limit/limitmanager.cpp [new file with mode: 0644]
src/net-limit/limitmanager.h [new file with mode: 0644]
src/net-limit/reader.cpp [new file with mode: 0644]
src/net-limit/reader.h [new file with mode: 0644]