|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| analytics/ | H | 17-Jun-2020 | - | 908 | 731 |
| bucketconfig/ | H | 17-Jun-2020 | - | 2,638 | 1,626 |
| docreq/ | H | 17-Jun-2020 | - | 278 | 172 |
| http/ | H | 17-Jun-2020 | - | 1,343 | 924 |
| jsparse/ | H | 17-Jun-2020 | - | 635 | 419 |
| lcbht/ | H | 17-Jun-2020 | - | 389 | 209 |
| lcbio/ | H | 03-May-2022 | - | 4,647 | 2,851 |
| mc/ | H | 17-Jun-2020 | - | 2,970 | 1,565 |
| mcserver/ | H | 17-Jun-2020 | - | 2,165 | 1,537 |
| n1ql/ | H | 17-Jun-2020 | - | 1,996 | 1,533 |
| netbuf/ | H | 17-Jun-2020 | - | 1,708 | 856 |
| operations/ | H | 17-Jun-2020 | - | 4,654 | 3,519 |
| rdb/ | H | 17-Jun-2020 | - | 1,479 | 848 |
| ssl/ | H | 03-May-2022 | - | 1,587 | 1,058 |
| strcodecs/ | H | 17-Jun-2020 | - | 611 | 427 |
| tracing/ | H | 17-Jun-2020 | - | 904 | 736 |
| vbucket/ | H | 03-May-2022 | - | 2,490 | 1,843 |
| views/ | H | 17-Jun-2020 | - | 508 | 398 |
| README.md | H A D | 17-Jun-2020 | 3.6 KiB | 102 | 60 |
| aspend.h | H A D | 17-Jun-2020 | 3 KiB | 106 | 31 |
| auth-priv.h | H A D | 17-Jun-2020 | 3 KiB | 90 | 62 |
| auth.cc | H A D | 17-Jun-2020 | 5.3 KiB | 192 | 152 |
| bootstrap.cc | H A D | 17-Jun-2020 | 8.9 KiB | 265 | 189 |
| bootstrap.h | H A D | 17-Jun-2020 | 5 KiB | 150 | 50 |
| callbacks.c | H A D | 17-Jun-2020 | 13.1 KiB | 381 | 340 |
| cbft.cc | H A D | 17-Jun-2020 | 6.8 KiB | 247 | 200 |
| cntl.cc | H A D | 17-Jun-2020 | 38.5 KiB | 1,061 | 938 |
| config_static.h | H A D | 17-Jun-2020 | 3.3 KiB | 177 | 122 |
| connspec.cc | H A D | 17-Jun-2020 | 17.3 KiB | 556 | 459 |
| connspec.h | H A D | 17-Jun-2020 | 5.4 KiB | 156 | 106 |
| crypto.cc | H A D | 17-Jun-2020 | 15 KiB | 400 | 339 |
| ctx-log-inl.h | H A D | 17-Jun-2020 | 1.8 KiB | 45 | 25 |
| dns-srv.cc | H A D | 17-Jun-2020 | 3.5 KiB | 149 | 118 |
| dump.cc | H A D | 17-Jun-2020 | 3.8 KiB | 104 | 81 |
| errmap.cc | H A D | 17-Jun-2020 | 4.8 KiB | 174 | 140 |
| errmap.h | H A D | 17-Jun-2020 | 10.4 KiB | 272 | 165 |
| getconfig.cc | H A D | 17-Jun-2020 | 2.4 KiB | 80 | 52 |
| gethrtime.c | H A D | 17-Jun-2020 | 3.1 KiB | 110 | 61 |
| handler.cc | H A D | 17-Jun-2020 | 33.5 KiB | 1,102 | 889 |
| hashtable.c | H A D | 17-Jun-2020 | 1.7 KiB | 76 | 43 |
| hdr_timings.c | H A D | 17-Jun-2020 | 2.4 KiB | 93 | 55 |
| hostlist.cc | H A D | 17-Jun-2020 | 6.6 KiB | 305 | 245 |
| hostlist.h | H A D | 17-Jun-2020 | 4.9 KiB | 161 | 64 |
| instance.cc | H A D | 17-Jun-2020 | 25.1 KiB | 918 | 780 |
| internal.h | H A D | 17-Jun-2020 | 9.2 KiB | 286 | 195 |
| iofactory.c | H A D | 17-Jun-2020 | 15.4 KiB | 576 | 426 |
| legacy.c | H A D | 17-Jun-2020 | 14.7 KiB | 432 | 366 |
| list.c | H A D | 17-Jun-2020 | 3.1 KiB | 145 | 109 |
| list.h | H A D | 17-Jun-2020 | 3.8 KiB | 128 | 49 |
| logging.c | H A D | 17-Jun-2020 | 6.8 KiB | 247 | 178 |
| logging.h | H A D | 17-Jun-2020 | 2.5 KiB | 89 | 43 |
| mctx-helper.h | H A D | 17-Jun-2020 | 2 KiB | 63 | 39 |
| metrics.cc | H A D | 17-Jun-2020 | 3.9 KiB | 133 | 97 |
| newconfig.cc | H A D | 17-Jun-2020 | 12.4 KiB | 366 | 238 |
| nodeinfo.cc | H A D | 17-Jun-2020 | 5.2 KiB | 185 | 140 |
| packetutils.h | H A D | 17-Jun-2020 | 9.9 KiB | 389 | 240 |
| probes.d | H A D | 17-Jun-2020 | 8.6 KiB | 183 | 147 |
| retrychk.cc | H A D | 17-Jun-2020 | 3.7 KiB | 114 | 75 |
| retryq.cc | H A D | 17-Jun-2020 | 13.8 KiB | 489 | 368 |
| retryq.h | H A D | 17-Jun-2020 | 5.3 KiB | 171 | 47 |
| ringbuffer.c | H A D | 17-Jun-2020 | 11.9 KiB | 443 | 353 |
| ringbuffer.h | H A D | 17-Jun-2020 | 3.8 KiB | 101 | 64 |
| rnd.cc | H A D | 17-Jun-2020 | 1.5 KiB | 62 | 38 |
| rnd.h | H A D | 17-Jun-2020 | 1.1 KiB | 40 | 16 |
| settings.c | H A D | 17-Jun-2020 | 5.1 KiB | 127 | 104 |
| settings.h | H A D | 17-Jun-2020 | 8.2 KiB | 275 | 168 |
| sllist-inl.h | H A D | 17-Jun-2020 | 4.5 KiB | 198 | 154 |
| sllist.h | H A D | 17-Jun-2020 | 2.2 KiB | 77 | 32 |
| timings.c | H A D | 17-Jun-2020 | 5.2 KiB | 208 | 134 |
| trace.h | H A D | 17-Jun-2020 | 7.5 KiB | 118 | 78 |
| utilities.c | H A D | 17-Jun-2020 | 4 KiB | 177 | 122 |
| wait.cc | H A D | 17-Jun-2020 | 3.5 KiB | 157 | 103 |
README.md
1# Internal source code structure
2
3This directory contains the source code for libcouchbase. Here is a brief
4listing of the various subcomponents and what they do:
5
6* `internal.h` contains the top level internal declarations.
7
8* `config_static.h` contains statically inferred (via macros) platform information.
9
10* `instance.c` contains functions related to creating and destroying the actual
11 `lcb_t` handle. It also contains some convenience functions.
12
13* `bootstrap.{c,h}` contains the top-level logic for _retrieving_ the cluster
14 configuration
15
16* `newconfig.c` contains the logic for _applying_ a new configuration
17
18* `bucketconfig/*` is a directory which contains the low level transport logic used
19 to retrieve a new configuration
20
21* `callbacks.c` contains the functions used to implement the library's `set_callback`
22 accessor functions.
23
24* `operations/*` is a directory which contains the top level entry points for memcached
25 requests
26
27* `handler.c` contains the response handlers for memcached.
28
29* `getconfig.c` contains the implementation for requesting a config from an existing
30 server.
31
32* `connspec.{c,h}` contains the connection string parsing logic
33
34* `cntl.c` contains the handlers for the `lcb_cntl()` family of functions
35
36* `dump.c` contains the handlers for the `lcb_dump()` function
37
38* `gethrtime.c` contains platform-dependent implementations of a nanosecond timer
39
40* `hashset.{c,h}` contains the implementation for a set (unique collection of pointers)
41
42* `list.{c,h}` contains the implementation for a double-linked list
43
44* `sllist.h, sllist-inl.h` contain the implementation for a single-linked list
45
46* `logging.{c,h}` contains the implementation for the library's logging mechanism
47
48* `hostlist.{c,h}` defines a list of hosts, with features for de-duping and converting
49 to other structures
50
51* `nodeinfo.c` contains the implementation for the `lcb_get_node()` function.
52
53* `packetutils.{c,h}` contains utilities and macros for handling partial memcached
54 response packets
55
56* `wait.c` contains the implementation of `lcb_wait()`
57
58* `timings.c` contains the implementation of `lcb_get_timings()`
59
60* `trace.h` contains macros for DTrace functionality
61
62* `utilities.c` contains cross-platform utilities (such as temporary directory,
63 getting environment variables)
64
65* `iofactory.c` contains the plugin intialization/loading functionality for I/O
66 plugins
67
68* `retrychk.c` contains logic which determines if a rety is necessary under certain
69 conditions
70
71* `retryq.{c,h}` contains an internal retried operations, and are placed there if they
72 are eligible for retries.
73
74* `aspend.h` contains definitions for pending operations which are meant to block
75 calls to `lcb_wait()` (implementation in instance.c)
76
77* `lcbio/*` is a directory which contains the cross platform/cross model IO
78 implementation. Most I/O is done in this subdirectory
79
80* `http/*` contains the API implementation for user-level HTTP requests
81
82* `lcbht/*` contains an HTTP response parsing API/implementation
83
84* `mc/*` contains the memcached/Couchbase structure and packet/buffer allocation
85 and scheduling logic.
86
87* `mcserver/*` contains the operation/failure/IO logic for memcached connections
88
89* `vbucket/*` contains the raw vBucket config parsing and hashing/mapping implementation
90 (formerly known as "libvbucket")
91
92* `rdb/*` contains an extensible pooled read buffer implementation
93
94* `netbuf/*` contains an extensible high performance output buffer implementation
95
96* `rigbuffer.{c,h}` contains a circular buffer implementation.
97
98* `ssl/*` contains the OpenSSL interfacing routines
99
100* `strcodecs/*` contains utility functions to encode/decode strings to/from
101 various formats.
102