Initial commit: protoc-gen-tarantool plugin + pb runtime A protoc plugin (Go) and a pure-Lua + LuaJIT-FFI runtime that give Tarantool a complete proto3 + gRPC stack. Two codegen modes (full inline / runtime descriptor), 226-test luatest suite, 18-fixture mainline-protoc interop corpus, JSON codec, well-known types, gRPC client/server factories, runtime .proto parser, microbench harness with allocation regression gate. Covers PLAN.md M1-M5. Module is `pb` (not `protobuf`) to avoid colliding with Tarantool's built-in encode-only `protobuf` module.
64 files changed, 14162 insertions(+), 0 deletions(-) A .gitignore A Makefile A PLAN.md A README.md A bench/baseline.json A bench/bench.lua A cmd/conformance-runner.lua A cmd/conformance/core.lua A cmd/protoc-gen-tarantool/internal/gen/gen.go A cmd/protoc-gen-tarantool/internal/gen/inline.go A cmd/protoc-gen-tarantool/internal/gen/name.go A cmd/protoc-gen-tarantool/internal/gen/options.go A cmd/protoc-gen-tarantool/internal/gen/service.go A cmd/protoc-gen-tarantool/internal/gen/types.go A cmd/protoc-gen-tarantool/main.go A examples/expected/full/conformance/conformance_pb.lua A examples/expected/full/hello/hello_pb.lua A examples/expected/full/protobuf_test_messages/proto3/test_messages_proto3_pb.lua A examples/expected/runtime/conformance/conformance_pb.lua A examples/expected/runtime/hello/hello_pb.lua A examples/expected/runtime/protobuf_test_messages/proto3/test_messages_proto3_pb.lua A examples/proto/hello.proto A go.mod A go.sum A options/tarantool/tarantool.proto A runtime/pb/codec.lua A runtime/pb/dynamic.lua A runtime/pb/grpc.lua A runtime/pb/init.lua A runtime/pb/json.lua A runtime/pb/parser.lua A runtime/pb/wire.lua A runtime/pb/wkt.lua A test/any_fieldmask_test.lua A test/conformance/proto/conformance.proto A test/conformance/proto/test_messages_proto3.proto A test/conformance_test.lua A test/dynamic_test.lua A test/grpc_streaming_test.lua A test/interop/fixtures/address_basic.bin A test/interop/fixtures/address_basic.txtpb A test/interop/fixtures/address_with_optional.bin A test/interop/fixtures/address_with_optional.txtpb A test/interop/fixtures/event_any_fieldmask.bin A test/interop/fixtures/event_any_fieldmask.txtpb A test/interop/fixtures/event_struct_value.bin A test/interop/fixtures/event_struct_value.txtpb A test/interop/fixtures/person_map.bin A test/interop/fixtures/person_map.txtpb A test/interop/fixtures/person_nested.bin A test/interop/fixtures/person_nested.txtpb A test/interop/fixtures/person_packed.bin A test/interop/fixtures/person_packed.txtpb A test/interop/fixtures/person_wires.bin A test/interop/fixtures/person_wires.txtpb A test/interop/fixtures/result_oneof_msg.bin A test/interop/fixtures/result_oneof_msg.txtpb A test/interop/fixtures/result_oneof_text.bin A test/interop/fixtures/result_oneof_text.txtpb A test/interop_test.lua A test/json_test.lua A test/protobuf_test.lua A test/struct_value_test.lua A test/unknown_test.lua