diff --git a/poc/py/main.py b/poc/py/stream_to_state.py similarity index 79% rename from poc/py/main.py rename to poc/py/stream_to_state.py index 68a651b..29939b3 100644 --- a/poc/py/main.py +++ b/poc/py/stream_to_state.py @@ -1,22 +1,34 @@ -from sys import stdin, stdout import signal from os import getpid, kill import time +import argparse -def main(stream): - bucket = None - N = 3 - R = 2 - T = 2 - triggered = CBAppend("/tmp/cbappend.triggered.txt") - triggered = CBAppend("/tmp/cbappend.both.txt") - released = CBAppend("/tmp/cbappend.both.txt") +def main(): + args = get_args() + with_( + N=args.n, + R=args.r, + T=args.t, + p=args.p, + ) + +def get_args(): + ap = argparse.ArgumentParser() + ap.add_argument("-n", type=int, help="queue capacity", 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, R, T, p): + triggered = CBAppend(p) + released = CBAppend(p) cb = CBFork(triggered, released) + bucket = Bucket(N, R, T, cb.cb()) while readline(): - print("bucket.push():", bucket.push()) - stdout.flush() + bucket.push() def readline(): try: @@ -116,4 +128,4 @@ class CBFork(): return cb if __name__ == "__main__": - main(stdin) + main() diff --git a/poc/py/test.sh b/poc/py/test.sh index fcd5a95..b442c18 100644 --- a/poc/py/test.sh +++ b/poc/py/test.sh @@ -10,4 +10,4 @@ fi done done -) | python3 ./main.py +) | python3 ./stream_to_state.py