diff options
author | rbuj <[email protected]> | 2020-12-02 09:54:00 +0100 |
---|---|---|
committer | raveit65 <[email protected]> | 2020-12-13 15:45:33 +0100 |
commit | 61e25238728dd5cb9922932a5b7279eb6cdb15da (patch) | |
tree | 07c73bb9d083054c0d71d0a19e019d6f5ab5c710 /multiload/netspeed.c | |
parent | 3cf85cb5229c3e87fed2f926004fed724e94e8cb (diff) | |
download | mate-applets-61e25238728dd5cb9922932a5b7279eb6cdb15da.tar.bz2 mate-applets-61e25238728dd5cb9922932a5b7279eb6cdb15da.tar.xz |
multiload: Use common subdirs - src, data
Diffstat (limited to 'multiload/netspeed.c')
-rw-r--r-- | multiload/netspeed.c | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/multiload/netspeed.c b/multiload/netspeed.c deleted file mode 100644 index 3e889c8f..00000000 --- a/multiload/netspeed.c +++ /dev/null @@ -1,70 +0,0 @@ -#include <config.h> -#include <glib.h> -#include <time.h> - -#include "netspeed.h" - -enum { N_STATES = 4 }; - -struct _NetSpeed -{ - LoadGraph *graph; - gulong states[N_STATES]; - size_t cur; -}; - -NetSpeed* netspeed_new(LoadGraph *g) -{ - NetSpeed *ns = g_new0(NetSpeed, 1); - ns->graph = g; - return ns; -} - -void netspeed_delete(NetSpeed *ns) -{ - g_free(ns); -} - -void netspeed_add(NetSpeed *ns, gulong tx) -{ - ns->cur = (ns->cur + 1) % N_STATES; - ns->states[ns->cur] = tx; -} - -/* Something very similar to g_format_size() but for rates. - * This should give the same display as in g-s-m */ -static char* -format_rate_for_display(guint rate) -{ - char *bytes; - char *text; - - bytes = g_format_size (rate); - text = g_strdup_printf (_("%s/s"), bytes); - g_free (bytes); - - return text; -} - -char* netspeed_get(NetSpeed *ns) -{ - gulong older, newer; - guint rate; - - newer = ns->states[ns->cur]; - older = ns->states[(ns->cur + 1) % N_STATES]; - - if ((older != 0) && (newer > older)) - rate = (newer - older) * 1000 / ((N_STATES - 1) * ns->graph->speed); - else - /* We end up here if we haven't got enough data yet or the - network interface has jumped back (or there has never - been any activity on any interface). A value of 0 is - likely to be accurate, but if it is wrong it will be - clearly wrong. In any event, it should fix itself in a - few seconds. */ - rate = 0; - - return format_rate_for_display(rate); -} - |