The user-facing docs for tarantool-protobuf, grouped by what you're
trying to do. The README has the feature matrix, quick
start, and status numbers; this page is the map for everything else.
If you're new to the project, work through the how-tos in order; each links to the next.
prefix,
lua_package, LUA_PATH, three side-by-side protoc invocations.Any — typed
message payloads, registry, opaque fallback.tarantool/http — exposing
a proto-defined API as JSON HTTP.pb.parse and pb.from_pb for runtime descriptors.decode_lazy —
picking eager vs lazy by workload shape.protobuf —
side-by-side schema and call-site diffs.protoc,
Makefile, Justfile, buf, CMake.When something doesn't work, troubleshooting collects the common errors and their fixes.
require('pb'): codec, lazy view, dynamic descriptors,
JSON/text/WKT/gRPC, sentinels, codegen helpers._pb.lua exposes per message, enum, and service.protoc-gen-tarantool and protoc-gen-tarantool-doc from
protoc. Flags, file options, path-resolution rules.loopback / multiplex transports.protoc-gen-tarantool works:
the pipeline, the descriptor-table contract (canonical shape),
inline-mode vs runtime-mode emission, the LuaJIT hot-path rules
generated code observes, and how to add a new scalar type.examples/docs/hello.md is
the output of the sibling protoc-gen-tarantool-doc plugin
against examples/proto/hello.proto. Same plugin can run against
any .proto to produce its own per-file Markdown.Forward-looking design docs. These describe contracts and trade-offs for work that's either partly shipped or planned.
runtime/pb/grpc.lua; external transports (http_server,
netbox, http_client) are not yet built.pairs() on hot paths, 64-bit
ints as cdata, SoA over AoS for large index structures, keep hot
helpers small, WKT routing.