Commit Graph

8 Commits

Author SHA1 Message Date
Alessandro Puccetti
097225332a plugins/traffic-control: switch to http.ServeMux
It is nicer to instantiate a http.ServeMux, instead of modifying
the global http handler.
2016-09-09 13:57:21 +02:00
Alessandro Puccetti
c722edf534 plugins/traffic-control: export trafficControlStatus
Rename trafficControlStatus to TrafficControlStatus, because lint complains.
2016-09-09 13:14:24 +02:00
Alessandro Puccetti
f6708503f0 plugins/traffic-control: add helper functions to trafficControlStatus
SetLatency and SetPacketLoss handle the empty value that is represented by "-".
2016-09-09 13:14:24 +02:00
Alessandro Puccetti
00a87922e6 plugins/traffic-control: code refactoring
Substitute `split()` with `strings.Fileds()`.
Remove unnecessary functions and commented code.
Unabbreviate variable and function names.
2016-09-09 13:14:24 +02:00
Alessandro Puccetti
71f9d8874f plugins/traffic-control: Some style fixes
Comment before exported functions.
When `if` block ends with a return statement, drop the else and outdent its block.
2016-09-09 12:31:53 +02:00
Alessandro Puccetti
9df70ec380 plugins/traffic-control: refactoring
Use string for delay and packet loss parameter, code refactoring,
improved error messages, fix typos, add empty status representation,
fix namesapce ID representation.
2016-09-06 11:53:35 +02:00
Alessandro Puccetti
a743b59dcf plugins/traffic-control: added status caching
To avoid to run `tc` every tic to get the qdisc status, we cache it.
The cache is updated every time a value is changed via the control interface.

NOTE: This will keep track only of the changes by done the plugins interface,
if the qdisc parameters are changed by another applcation or by the user
via terminal, such changes will not be caught.
2016-09-06 11:53:35 +02:00
Krzesimir Nowak
c5cc9814fe Add an example traffic control plugin
As it is an initial implementation, it only controls latency of the
outgoing (egress) traffic. There is also a TODO to turn this plugin
into something more serious. Also, at some point we may consider
moving this plugin outside of "example" directory.
2016-09-06 11:53:35 +02:00