Name | Date | Size | ||
---|---|---|---|---|
.. | 11-Jan-2022 | 4 KiB | ||
.gitignore | H A D | 11-Jan-2022 | 741 | |
.mailmap | H A D | 11-Jan-2022 | 720 | |
auditd/ | H | 11-Jan-2022 | 4 KiB | |
cbcrypto/ | H | 11-Jan-2022 | 4 KiB | |
cbsasl/ | H | 11-Jan-2022 | 4 KiB | |
CMakeLists.txt | H A D | 11-Jan-2022 | 10.2 KiB | |
CONTRIBUTING.md | H A D | 11-Jan-2022 | 1.2 KiB | |
COPYING | H A D | 11-Jan-2022 | 1.5 KiB | |
CTestCustom.cmake | H A D | 11-Jan-2022 | 259 | |
daemon/ | H | 11-Jan-2022 | 4 KiB | |
docs/ | H | 11-Jan-2022 | 4 KiB | |
engines/ | H | 11-Jan-2022 | 4 KiB | |
etc/ | H | 11-Jan-2022 | 4 KiB | |
include/ | H | 11-Jan-2022 | 4 KiB | |
LICENSE | H A D | 11-Jan-2022 | 1.5 KiB | |
logger/ | H | 11-Jan-2022 | 4 KiB | |
programs/ | H | 11-Jan-2022 | 4 KiB | |
protocol/ | H | 11-Jan-2022 | 4 KiB | |
rbac/ | H | 11-Jan-2022 | 4 KiB | |
README.md | H A D | 11-Jan-2022 | 2.6 KiB | |
scripts/ | H | 11-Jan-2022 | 4 KiB | |
tests/ | H | 11-Jan-2022 | 4 KiB | |
testsuite/ | H | 11-Jan-2022 | 4 KiB | |
time/ | H | 11-Jan-2022 | 4 KiB | |
tracing/ | H | 11-Jan-2022 | 4 KiB | |
utilities/ | H | 11-Jan-2022 | 4 KiB | |
xattr/ | H | 11-Jan-2022 | 4 KiB |
README.md
1# KV-Engine 2 3Welcome to the Couchbase _KV-Engine_ project. 4 5This started as Couchbase's fork of the upstream `memcached` project, 6but has substantially evolved since then. It contains the bulk of the 7code for the Key/Value service of Couchbase Server. 8 9## Repository Layout 10 11Areas of interest in the repository: 12 13* [`include/`](include/) - Public header files. 14* `daemon/` - Source for the main daemon process (also known as the 15 _server_). This is where [`main()`](daemon/memcached.cc) lives. 16* `engines/` - Source for the different engines (aka bucket types) 17 supported. Includes: 18 * [`default engine`](engines/default_engine/) - The original 19 _memcache_ engine. Powers the _Memcache_ bucket type. 20 * [`ep`](engines/ep/) - _Eventually Persistent_ Engine. Powers the 21 _Couchbase_ and _Ephemeral_ bucket types. 22 * [`ewouldblock engine`](engines/ewouldblock_engine) - Test engine 23 which interposes a real engine and can perform various types of 24 error-injection. 25* `tests/` - Test cases. 26 27## Building 28 29KV-Engine has a number of external dependancies, as such it should be 30built via the Couchbase 31[top-level Makefile](https://github.com/couchbase/tlm). 32 33## Documentation 34 35### Architecture 36 37* [KV-Engine Architecture](docs/Architecture.md) 38* [CBSASL](cbsasl/CBSASL.md) 39* [Audit](auditd/README.md) 40* [Event Tracing / Phosphor](docs/Tracing.md) 41* [Document attributes](docs/Document.md) 42* [Environment variables](docs/EnvironmentVariables.md) 43* [Role Based Access Control (RBAC)](docs/rbac.md) 44* [SSL Client Certificate](docs/ssl_client_cert.md) 45* [DCP](docs/dcp/README.md) 46* [Memcached configuration file](docs/memcached.json.adoc) 47 48### Protocols 49 50* [Memcached Binary Protocol](docs/BinaryProtocol.md) 51 * [SASL](docs/sasl.md) 52 * [Duplex mode](docs/Duplex.md) 53 * [External Authentication Provider](docs/ExternalAuthProvider.md) 54 * [DCP](docs/dcp/documentation/protocol.md) 55 56### Policies / Guidelines 57 58* [Coding Standards](docs/CodingStandards.rst) 59* [Error Handling Best Practices](docs/ErrorHandling.md) 60 61## Tools 62 63* [Analyze jemalloc memory statistics](scripts/jemalloc/README.md) 64 65## Related Projects 66 67While the bulk of code making up KV-Engine is in this repo, there are 68a number of other repositories which contribute to the final program: 69 70* [`couchbase/couchstore`](https://github.com/couchbase/couchstore) - 71 Couchbase storage file library. 72* [`couchbase/phosphor`](https://github.com/couchbase/phosphor) - 73 Phosphor: high performance event tracing framework. 74* [`couchbase/platform`](https://github.com/couchbase/platform) - 75 Platform abstraction layer. 76* [`couchbase/subjson`](https://github.com/couchbase/subjson) - 77 subjson - quickly manipulate JSON subfields. 78