• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

analytics/H17-Jun-2020-908731

bucketconfig/H17-Jun-2020-2,6381,626

docreq/H17-Jun-2020-278172

http/H17-Jun-2020-1,343924

jsparse/H17-Jun-2020-635419

lcbht/H17-Jun-2020-389209

lcbio/H03-May-2022-4,6472,851

mc/H17-Jun-2020-2,9701,565

mcserver/H17-Jun-2020-2,1651,537

n1ql/H17-Jun-2020-1,9961,533

netbuf/H17-Jun-2020-1,708856

operations/H17-Jun-2020-4,6543,519

rdb/H17-Jun-2020-1,479848

ssl/H03-May-2022-1,5871,058

strcodecs/H17-Jun-2020-611427

tracing/H17-Jun-2020-904736

vbucket/H03-May-2022-2,4901,843

views/H17-Jun-2020-508398

README.mdH A D17-Jun-20203.6 KiB10260

aspend.hH A D17-Jun-20203 KiB10631

auth-priv.hH A D17-Jun-20203 KiB9062

auth.ccH A D17-Jun-20205.3 KiB192152

bootstrap.ccH A D17-Jun-20208.9 KiB265189

bootstrap.hH A D17-Jun-20205 KiB15050

callbacks.cH A D17-Jun-202013.1 KiB381340

cbft.ccH A D17-Jun-20206.8 KiB247200

cntl.ccH A D17-Jun-202038.5 KiB1,061938

config_static.hH A D17-Jun-20203.3 KiB177122

connspec.ccH A D17-Jun-202017.3 KiB556459

connspec.hH A D17-Jun-20205.4 KiB156106

crypto.ccH A D17-Jun-202015 KiB400339

ctx-log-inl.hH A D17-Jun-20201.8 KiB4525

dns-srv.ccH A D17-Jun-20203.5 KiB149118

dump.ccH A D17-Jun-20203.8 KiB10481

errmap.ccH A D17-Jun-20204.8 KiB174140

errmap.hH A D17-Jun-202010.4 KiB272165

getconfig.ccH A D17-Jun-20202.4 KiB8052

gethrtime.cH A D17-Jun-20203.1 KiB11061

handler.ccH A D17-Jun-202033.5 KiB1,102889

hashtable.cH A D17-Jun-20201.7 KiB7643

hdr_timings.cH A D17-Jun-20202.4 KiB9355

hostlist.ccH A D17-Jun-20206.6 KiB305245

hostlist.hH A D17-Jun-20204.9 KiB16164

instance.ccH A D17-Jun-202025.1 KiB918780

internal.hH A D17-Jun-20209.2 KiB286195

iofactory.cH A D17-Jun-202015.4 KiB576426

legacy.cH A D17-Jun-202014.7 KiB432366

list.cH A D17-Jun-20203.1 KiB145109

list.hH A D17-Jun-20203.8 KiB12849

logging.cH A D17-Jun-20206.8 KiB247178

logging.hH A D17-Jun-20202.5 KiB8943

mctx-helper.hH A D17-Jun-20202 KiB6339

metrics.ccH A D17-Jun-20203.9 KiB13397

newconfig.ccH A D17-Jun-202012.4 KiB366238

nodeinfo.ccH A D17-Jun-20205.2 KiB185140

packetutils.hH A D17-Jun-20209.9 KiB389240

probes.dH A D17-Jun-20208.6 KiB183147

retrychk.ccH A D17-Jun-20203.7 KiB11475

retryq.ccH A D17-Jun-202013.8 KiB489368

retryq.hH A D17-Jun-20205.3 KiB17147

ringbuffer.cH A D17-Jun-202011.9 KiB443353

ringbuffer.hH A D17-Jun-20203.8 KiB10164

rnd.ccH A D17-Jun-20201.5 KiB6238

rnd.hH A D17-Jun-20201.1 KiB4016

settings.cH A D17-Jun-20205.1 KiB127104

settings.hH A D17-Jun-20208.2 KiB275168

sllist-inl.hH A D17-Jun-20204.5 KiB198154

sllist.hH A D17-Jun-20202.2 KiB7732

timings.cH A D17-Jun-20205.2 KiB208134

trace.hH A D17-Jun-20207.5 KiB11878

utilities.cH A D17-Jun-20204 KiB177122

wait.ccH A D17-Jun-20203.5 KiB157103

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