From 8c97034a8048e5113297bb71f1f59f8903644feb Mon Sep 17 00:00:00 2001 From: bel Date: Sun, 10 Apr 2022 20:55:42 -0600 Subject: [PATCH] main test.sh --- poc/main.py | 24 ++++++++++++++++-------- poc/test.sh | 13 +++++++++++++ 2 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 poc/test.sh diff --git a/poc/main.py b/poc/main.py index fc3aa8e..d6b1fe4 100644 --- a/poc/main.py +++ b/poc/main.py @@ -12,14 +12,14 @@ class Bucket: self.__last_state = False def push(self): - return self.__push_c(1) + result = self.__push_c(1) + self.__cb() + return result def pop(self): - return self.__pop() - - def __mod(self, foo): - result = foo() + result = self.__pop() self.__cb() + return result def __cb(self): new_state = self.q > self.T @@ -28,11 +28,15 @@ class Bucket: self.__last_state = new_state self.CB(new_state) + def state(self): + return self.__last_state + def __push_c(self, c): self.__pop() if self.q+c > self.N: return False self.q += c + print(f"{int(self.q)} = + {int(c+.5)}") return True def __pop(self): @@ -41,17 +45,21 @@ class Bucket: if remove_up_to > self.q: remove_up_to = self.q self.q -= remove_up_to + print(f"{int(self.q)} = - {int(remove_up_to+.5)}") self.__last_pop = now def __now(self): return time.time() def main(stream): - bucket = Bucket(3, 1, 2, lambda state: print("state is now", state)) + bucket = None + N = 3 + R = 2 + T = 1 + bucket = Bucket(N, R, T, lambda state: print(f"state is now {state} ({bucket.state()}), q={bucket.q}")) while readline(): - print(bucket.push(), file=stdout) - #print(f'q={bucket.q}, N={bucket.N}, R={bucket.R}', file=stdout) + bucket.push() stdout.flush() def readline(): diff --git a/poc/test.sh b/poc/test.sh new file mode 100644 index 0000000..fcd5a95 --- /dev/null +++ b/poc/test.sh @@ -0,0 +1,13 @@ +#! /bin/bash + +( + for j in `seq 1 10`; do + for i in `seq 1 10`; do + echo $i + true || printf "$j/$i " >&2 + if ((i%j==0)); then + sleep $j + fi + done + done +) | python3 ./main.py