Documentation
¶
Overview ¶
Package main exports lux/zapdb functions as a C shared library.
Build:
CGO_ENABLED=1 go build -buildmode=c-shared -o dist/libzapdb.so ./bindings/cabi/ CGO_ENABLED=1 go build -buildmode=c-shared -o dist/libzapdb.dylib ./bindings/cabi/ # macOS install_name_tool -id @rpath/libzapdb.dylib dist/libzapdb.dylib # macOS rpath
This produces libzapdb.{so,dylib,dll} + libzapdb.h which Rust (FFI), Python (ctypes), and TypeScript (N-API) can bind to.
All stateful Go objects (DB, Txn) are stored behind opaque uint64 handles. A global handle map prevents GC collection.
Click to show internal directories.
Click to hide internal directories.