From 40343490f2fb2e37fc9167ada788daf296c811c7 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Tue, 12 Apr 2022 15:51:15 -0600 Subject: [PATCH] need to normal stream if i want leaky bucket to work nicely but hmmm --- poc/2-py-rps/stream_to_state.py | 15 ++++++--------- poc/2-py-rps/test.sh | 5 ++++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/poc/2-py-rps/stream_to_state.py b/poc/2-py-rps/stream_to_state.py index 98dbff6..3eb1e00 100644 --- a/poc/2-py-rps/stream_to_state.py +++ b/poc/2-py-rps/stream_to_state.py @@ -9,7 +9,6 @@ def main(): N=args.n, M=args.m, R=args.r, - T=args.t, p=args.p, ) @@ -18,11 +17,10 @@ def get_args(): ap.add_argument("-n", type=int, help="queue capacity", default=3) ap.add_argument("-m", type=int, help="queue fill line", default=3) ap.add_argument("-r", type=int, help="drain rate per second", default=2) - ap.add_argument("-t", type=int, help="threshold for state", default=2) ap.add_argument("-p", type=str, help="path to write out to", default="/tmp/cbappend.both.txt") return ap.parse_args() -def with_(N, M, R, T, p): +def with_(N, M, R, p): triggered = CBAppend(p) released = CBAppend(p) cb = CBFork(triggered, released) @@ -33,7 +31,7 @@ def with_(N, M, R, T, p): got = readline() if got: if not got in buckets: - buckets[got] = Bucket(N, M, R, T, cb.cb(got)) + buckets[got] = Bucket(N, M, R, cb.cb(got)) buckets[got].push() # TODO no /state [buckets[i].pop() for i in buckets] @@ -59,12 +57,11 @@ class State(): self.f = f class Bucket(): - def __init__(self, N, M, R, T, CB): + def __init__(self, N, M, R, CB): self.q = 0.0 self.N = N self.M = M self.R = R - self.T = T self.CB = CB self.__last_pop = 0 self.__last_state = False @@ -80,16 +77,16 @@ class Bucket(): return result def __cb(self): - new_state = self.q > self.T + new_state = self.q >= self.M if new_state == self.__last_state: return self.__last_state = new_state filledness = int( 100*( max( - [self.q-self.T, 0] + [self.q-self.M, 0] )/max( - [self.M-self.T, 1] + [self.N-self.M, 1] ) ) )/100.0 diff --git a/poc/2-py-rps/test.sh b/poc/2-py-rps/test.sh index a9b1b04..01b889e 100644 --- a/poc/2-py-rps/test.sh +++ b/poc/2-py-rps/test.sh @@ -30,4 +30,7 @@ python3 ./testdata/rand_0_n_weighted_stream.py \ -between 10 \ -w 3 \ | peek \ -| python3 ./stream_to_state.py +| python3 ./stream_to_state.py \ + -n 7 \ + -m 6 \ + -r 6