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: