コード例 #1
0
def churn_at_rate_limit(rate_limit, bench_seconds):
    commands = [pipeline.PipeViewerRateLimitFilter(
        rate_limit, piper.PIPE, piper.PIPE)]
    pl = pipeline.Pipeline(commands, piper.PIPE, piper.PIPE)

    gevent.spawn(consume, pl.stdout)
    gevent.spawn(produce, pl.stdin)
    gevent.sleep(bench_seconds)
コード例 #2
0
def test_rate_limit(tmpdir):
    payload, payload_file = create_bogus_payload(tmpdir)

    pl = pipeline.PipeViewerRateLimitFilter(1048576 * 100,
                                            stdin=payload_file.open())
    pl.start()
    round_trip = pl.stdout.read()
    pl.finish()
    assert round_trip == payload