├── .gitignore ├── .travis.yml ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── TODO.md ├── all_unit_tests.sh ├── bench_tests.sh ├── cppperf ├── ABOUT.md ├── Makefile ├── main.cpp ├── memcache_client.cpp ├── memcache_client.h ├── tcp_client.cpp └── tcp_client.h ├── doc ├── Architecture.md ├── Performance-testing-ideas.md ├── Protocol-support.md └── Test-plan.md ├── fast_unit_tests.sh ├── format_all_code.sh ├── integration_tests.sh ├── pyemc ├── ABOUT.md ├── __init__.py ├── abstractions │ ├── __init__.py │ ├── task_api.py │ └── test_api.py ├── client.py ├── main.py ├── socket_stream.py ├── task_filler.py ├── test_integration.py ├── test_stress.py └── util.py ├── run_server.sh ├── rustfmt.toml └── src ├── common ├── consts.rs ├── conversions.rs └── mod.rs ├── main.rs ├── metrics ├── live_timers.rs ├── metric.rs ├── metrics.rs ├── mod.rs ├── recorder.rs ├── statistics │ ├── aggregate.rs │ ├── aggregated_metric.rs │ ├── mod.rs │ └── tests.rs ├── tests.rs ├── time_series.rs ├── timer.rs ├── timing.rs └── typedefs.rs ├── options.rs ├── orchestrator ├── driver_task.rs ├── listener_task.rs ├── metrics_task.rs ├── mod.rs ├── transport_task.rs └── typedefs.rs ├── platform ├── mod.rs ├── process.rs └── time.rs ├── protocol ├── cmd.rs ├── driver.rs ├── mod.rs ├── tests.rs ├── tests_bench.rs └── util.rs ├── storage ├── cache.rs ├── errors.rs ├── key.rs ├── macros.rs ├── mod.rs ├── tests.rs ├── tests_bench.rs ├── typedefs.rs └── value.rs ├── tcp_transport ├── conversions.rs ├── errors.rs ├── mod.rs ├── stats.rs ├── tests.rs ├── tests_bench.rs ├── transport.rs └── typedefs.rs └── testlib ├── cmp.rs ├── datagen.rs ├── mod.rs └── test_stream.rs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/.travis.yml -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/README.md -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/TODO.md -------------------------------------------------------------------------------- /all_unit_tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/all_unit_tests.sh -------------------------------------------------------------------------------- /bench_tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cargo bench $@ 4 | -------------------------------------------------------------------------------- /cppperf/ABOUT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/cppperf/ABOUT.md -------------------------------------------------------------------------------- /cppperf/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/cppperf/Makefile -------------------------------------------------------------------------------- /cppperf/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/cppperf/main.cpp -------------------------------------------------------------------------------- /cppperf/memcache_client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/cppperf/memcache_client.cpp -------------------------------------------------------------------------------- /cppperf/memcache_client.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/cppperf/memcache_client.h -------------------------------------------------------------------------------- /cppperf/tcp_client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/cppperf/tcp_client.cpp -------------------------------------------------------------------------------- /cppperf/tcp_client.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/cppperf/tcp_client.h -------------------------------------------------------------------------------- /doc/Architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/doc/Architecture.md -------------------------------------------------------------------------------- /doc/Performance-testing-ideas.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/doc/Performance-testing-ideas.md -------------------------------------------------------------------------------- /doc/Protocol-support.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/doc/Protocol-support.md -------------------------------------------------------------------------------- /doc/Test-plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/doc/Test-plan.md -------------------------------------------------------------------------------- /fast_unit_tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cargo test $@ 4 | -------------------------------------------------------------------------------- /format_all_code.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/format_all_code.sh -------------------------------------------------------------------------------- /integration_tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/integration_tests.sh -------------------------------------------------------------------------------- /pyemc/ABOUT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/pyemc/ABOUT.md -------------------------------------------------------------------------------- /pyemc/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pyemc/abstractions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pyemc/abstractions/task_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/pyemc/abstractions/task_api.py -------------------------------------------------------------------------------- /pyemc/abstractions/test_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/pyemc/abstractions/test_api.py -------------------------------------------------------------------------------- /pyemc/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/pyemc/client.py -------------------------------------------------------------------------------- /pyemc/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/pyemc/main.py -------------------------------------------------------------------------------- /pyemc/socket_stream.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/pyemc/socket_stream.py -------------------------------------------------------------------------------- /pyemc/task_filler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/pyemc/task_filler.py -------------------------------------------------------------------------------- /pyemc/test_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/pyemc/test_integration.py -------------------------------------------------------------------------------- /pyemc/test_stress.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/pyemc/test_stress.py -------------------------------------------------------------------------------- /pyemc/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/pyemc/util.py -------------------------------------------------------------------------------- /run_server.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/run_server.sh -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /src/common/consts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/common/consts.rs -------------------------------------------------------------------------------- /src/common/conversions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/common/conversions.rs -------------------------------------------------------------------------------- /src/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/common/mod.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/metrics/live_timers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/live_timers.rs -------------------------------------------------------------------------------- /src/metrics/metric.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/metric.rs -------------------------------------------------------------------------------- /src/metrics/metrics.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/metrics.rs -------------------------------------------------------------------------------- /src/metrics/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/mod.rs -------------------------------------------------------------------------------- /src/metrics/recorder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/recorder.rs -------------------------------------------------------------------------------- /src/metrics/statistics/aggregate.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/statistics/aggregate.rs -------------------------------------------------------------------------------- /src/metrics/statistics/aggregated_metric.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/statistics/aggregated_metric.rs -------------------------------------------------------------------------------- /src/metrics/statistics/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/statistics/mod.rs -------------------------------------------------------------------------------- /src/metrics/statistics/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/statistics/tests.rs -------------------------------------------------------------------------------- /src/metrics/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/tests.rs -------------------------------------------------------------------------------- /src/metrics/time_series.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/time_series.rs -------------------------------------------------------------------------------- /src/metrics/timer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/timer.rs -------------------------------------------------------------------------------- /src/metrics/timing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/timing.rs -------------------------------------------------------------------------------- /src/metrics/typedefs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/metrics/typedefs.rs -------------------------------------------------------------------------------- /src/options.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/options.rs -------------------------------------------------------------------------------- /src/orchestrator/driver_task.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/orchestrator/driver_task.rs -------------------------------------------------------------------------------- /src/orchestrator/listener_task.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/orchestrator/listener_task.rs -------------------------------------------------------------------------------- /src/orchestrator/metrics_task.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/orchestrator/metrics_task.rs -------------------------------------------------------------------------------- /src/orchestrator/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/orchestrator/mod.rs -------------------------------------------------------------------------------- /src/orchestrator/transport_task.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/orchestrator/transport_task.rs -------------------------------------------------------------------------------- /src/orchestrator/typedefs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/orchestrator/typedefs.rs -------------------------------------------------------------------------------- /src/platform/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/platform/mod.rs -------------------------------------------------------------------------------- /src/platform/process.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/platform/process.rs -------------------------------------------------------------------------------- /src/platform/time.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/platform/time.rs -------------------------------------------------------------------------------- /src/protocol/cmd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/protocol/cmd.rs -------------------------------------------------------------------------------- /src/protocol/driver.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/protocol/driver.rs -------------------------------------------------------------------------------- /src/protocol/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/protocol/mod.rs -------------------------------------------------------------------------------- /src/protocol/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/protocol/tests.rs -------------------------------------------------------------------------------- /src/protocol/tests_bench.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/protocol/tests_bench.rs -------------------------------------------------------------------------------- /src/protocol/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/protocol/util.rs -------------------------------------------------------------------------------- /src/storage/cache.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/storage/cache.rs -------------------------------------------------------------------------------- /src/storage/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/storage/errors.rs -------------------------------------------------------------------------------- /src/storage/key.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/storage/key.rs -------------------------------------------------------------------------------- /src/storage/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/storage/macros.rs -------------------------------------------------------------------------------- /src/storage/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/storage/mod.rs -------------------------------------------------------------------------------- /src/storage/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/storage/tests.rs -------------------------------------------------------------------------------- /src/storage/tests_bench.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/storage/tests_bench.rs -------------------------------------------------------------------------------- /src/storage/typedefs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/storage/typedefs.rs -------------------------------------------------------------------------------- /src/storage/value.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/storage/value.rs -------------------------------------------------------------------------------- /src/tcp_transport/conversions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/tcp_transport/conversions.rs -------------------------------------------------------------------------------- /src/tcp_transport/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/tcp_transport/errors.rs -------------------------------------------------------------------------------- /src/tcp_transport/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/tcp_transport/mod.rs -------------------------------------------------------------------------------- /src/tcp_transport/stats.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/tcp_transport/stats.rs -------------------------------------------------------------------------------- /src/tcp_transport/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/tcp_transport/tests.rs -------------------------------------------------------------------------------- /src/tcp_transport/tests_bench.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/tcp_transport/tests_bench.rs -------------------------------------------------------------------------------- /src/tcp_transport/transport.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/tcp_transport/transport.rs -------------------------------------------------------------------------------- /src/tcp_transport/typedefs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/tcp_transport/typedefs.rs -------------------------------------------------------------------------------- /src/testlib/cmp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/testlib/cmp.rs -------------------------------------------------------------------------------- /src/testlib/datagen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/testlib/datagen.rs -------------------------------------------------------------------------------- /src/testlib/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/testlib/mod.rs -------------------------------------------------------------------------------- /src/testlib/test_stream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/numerodix/emcache/HEAD/src/testlib/test_stream.rs --------------------------------------------------------------------------------