# fake_riak v0.2.0 - Table of Contents

> In-memory fake for Riak, etcd, Redis and memcached that speaks their wire protocols on TCP, so you can point real clients at it. Ships as an escript.

## Modules

- [FakeRiak](FakeRiak.md): Top-level namespace for FakeRiak.
- [FakeRiak.CLI](FakeRiak.CLI.md): Command-line entry point for the `mix escript.build` executable.
- [FakeRiak.Connection](FakeRiak.Connection.md): Generic, framing-agnostic connection serve loop.
- [FakeRiak.Etcd](FakeRiak.Etcd.md): Fake etcd endpoint speaking the etcd v2 HTTP/JSON API over TCP.
- [FakeRiak.HTTP](FakeRiak.HTTP.md): A minimal HTTP/1.1 request parser and response builder shared by the Riak and
etcd handlers (both of which speak HTTP over TCP).
- [FakeRiak.Listener](FakeRiak.Listener.md): A supervised TCP acceptor for a single protocol.
- [FakeRiak.Memcached](FakeRiak.Memcached.md): Fake memcached endpoint speaking the classic memcached text protocol.
- [FakeRiak.Protobuf](FakeRiak.Protobuf.md): Minimal protobuf (proto2) wire-format codec, just enough for the Riak PBC
messages `FakeRiak.RiakPBC` speaks.
- [FakeRiak.Protocol](FakeRiak.Protocol.md): Behaviour implemented by every wire-protocol handler (Riak, Redis, etcd,
memcached).
- [FakeRiak.Redis](FakeRiak.Redis.md): Fake Redis endpoint speaking RESP (the Redis serialization protocol).
- [FakeRiak.Riak](FakeRiak.Riak.md): Fake Riak KV endpoint speaking both of Riak's client APIs on the same port:
the HTTP API and the Protocol Buffers (PBC) API.
- [FakeRiak.RiakPBC](FakeRiak.RiakPBC.md): The Protocol Buffers (PBC) side of the fake Riak endpoint.
- [FakeRiak.SimpleStore](FakeRiak.SimpleStore.md): The shared in-memory key-value store, a single `GenServer` backing every
endpoint.
- [FakeRiak.TLS](FakeRiak.TLS.md): Detects whether a freshly accepted connection is starting a TLS handshake
and, if so, silently terminates TLS before handing the plaintext byte
stream to `FakeRiak.Connection`. Everything else is served as plain TCP, so
every listener transparently accepts both on the same port.

