Files
flatbuffers/grpc
mustiikhalil 5a95b7b6bc [Swift] Flexbuffers native swift port (#8577)
* Offical Swift port for FlexBuffers

This is the offical port for FlexBuffers within
swift, and it introcudes a Common Module where code
is shared between flatbuffers and flexbuffers.

Writing most supported values like maps, vectors,
nil and scalars into a flexbuffer buffer. And includes
tests to verify that its similar to cpp

* Reading a flexbuffer

Implementing reading from a flexbuffer, enabling
most of the buffers features, like most types, maps, vectors,
typedvectors, and fixedtypedvectors.

Currently, if an offset/object cant be read we default to a swift
nil instead of the default flexbuffers 'null' with all values.

* Fixes bazel breaking due to new project structure

Address warnings within the library

* Adds comment on why we added the code & properly enforce the amout of bytes needed
2025-06-22 08:36:38 +02:00
..
2025-01-15 09:24:34 -08:00
2021-08-14 09:01:54 -07:00

GRPC implementation and test

NOTE: files in src/ are shared with the GRPC project, and maintained there (any changes should be submitted to GRPC instead). These files are copied from GRPC, and work with both the Protobuf and FlatBuffers code generator.

tests/ contains a GRPC specific test, you need to have built and installed the GRPC libraries for this to compile. This test will build using the FLATBUFFERS_BUILD_GRPCTEST option to the main FlatBuffers CMake project.

Building Flatbuffers with gRPC

Linux

  1. Download, build and install gRPC. See instructions.
    • Lets say your gRPC clone is at /your/path/to/grpc_repo.
    • Install gRPC in a custom directory by running make install prefix=/your/path/to/grpc_repo/install.
  2. export GRPC_INSTALL_PATH=/your/path/to/grpc_repo/install
  3. export PROTOBUF_DOWNLOAD_PATH=/your/path/to/grpc_repo/third_party/protobuf
  4. mkdir build ; cd build
  5. cmake -DFLATBUFFERS_BUILD_GRPCTEST=ON -DGRPC_INSTALL_PATH=${GRPC_INSTALL_PATH} -DPROTOBUF_DOWNLOAD_PATH=${PROTOBUF_DOWNLOAD_PATH} ..
  6. make

For Bazel users:

$bazel test src/compiler/...

Running FlatBuffer gRPC tests

Linux

  1. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${GRPC_INSTALL_PATH}/lib
  2. make test ARGS=-V

For Bazel users:

$bazel test tests/...