Skip to content

Commit efe4b45

Browse files
Add a Feature Status Reference Page [#8]
2 parents 957b542 + 0241a47 commit efe4b45

File tree

2 files changed

+84
-0
lines changed

2 files changed

+84
-0
lines changed

docs/ref/features.rst

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
##################
2+
|amongoc| Features
3+
##################
4+
5+
|amongoc| is the first official asynchronous MongoDB C driver library, and
6+
targets compatibility with the driver library APIs that are common across other
7+
language implementations.
8+
9+
Because the library needs to be built from the ground-up to support asynchronous
10+
control flow, very little of the existing C driver implementation can be used
11+
directly, meaning that much of the feature set needs to be reimplemented. This
12+
page documents the status of the common driver library APIs within |amongoc|.
13+
Since the library is a proof-of-concept, many features have no target release
14+
date, but may be added in some future production-ready version.
15+
16+
.. |yes| replace::
17+
.. |no| replace::
18+
.. |never| replace:: 🚫
19+
.. |wip| replace::
20+
21+
.. rubric:: Legend
22+
23+
- |yes| - Feature is implemented and supported
24+
- |wip| - Feature is partially implemented
25+
- |no| - Feature is not implemented in this proof-of-concept
26+
- |never| - Feature is not planned
27+
28+
.. rubric:: Feature Status
29+
30+
- |wip| **Connection URIs**
31+
32+
- |yes| **Basic URI parsing** --- Most URI options are recognized, but several are unimplemented
33+
- |no| **Multi-host URIs** --- Requires a non-standard URI parser
34+
- |no| **Programmatic connection parameters** --- Only connection URI strings
35+
are supported.
36+
37+
- |wip| **Connectivity**
38+
39+
- |yes| **Hostname resolution**
40+
- |yes| **Transport encryption (TLS)** --- See also: the **TLS** point below
41+
- |wip| **Connection pooling**
42+
43+
- |yes| **Basic connection pooling**
44+
- |no| **Pool options**: ``minPoolSize``, ``maxPoolSize``, ``maxIdleTimeMS``, ``maxConnecting``
45+
46+
- |no| **SRV discovery**
47+
- |no| **Compression**
48+
- |no| **Authentication**
49+
- |no| **Automatic server selection**
50+
- |no| **Server discovery and monitoring**
51+
- |no| **Load balancing**
52+
- |never| **Legacy protocol support** --- e.g. ``OP_QUERY``
53+
54+
- |wip| **TLS**
55+
56+
- |yes| **TLS Connectivity**
57+
- |yes| **Client certificates**
58+
- |yes| **Custom CA certificates**
59+
- |yes| **Respects system CAs**
60+
- |no| **Disable CRLs**
61+
- |no| **OCSP**
62+
63+
- |wip| **Data management**
64+
65+
- |yes| **Basic CRUD APIs**
66+
- |no| **Collection management**
67+
- |no| **Index management**
68+
- |no| **Bulk write APIs**
69+
- |no| **Data encryption**
70+
71+
- |no| **Retryable operations**
72+
73+
- |no| **Retryable reads**
74+
- |no| **Retryable writes**
75+
- |no| **Client sessions**
76+
- |no| **Transaction support**
77+
78+
- |no| **GridFS**
79+
- |no| **Extended JSON parsing**
80+
- |no| **Client-side monitoring**
81+
82+
- |no| **Command event monitoring**
83+
- |no| **SDAM events** (SDAM is not yet supported)

docs/ref/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,4 @@ Reference
2929
time
3030

3131
glossary
32+
features

0 commit comments

Comments
 (0)