mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-01 19:58:15 +00:00
f96d1ef744a435d3557ee725a63407c4530501bf
Related with issue #6113. `(old_buf_size & 0xC0000000) != 0` checks if we can duplicate old_buf_size and still be under 2GB (by checking if bit 30 or 31 is 1). This doesn't allow buffers larger than 1GB. The strategy now is to allocate a buffer with the maximum array size when we detect that we are overflowing the 2GB. Also changed default buffer size to 1024.
FlatBuffers
FlatBuffers is a cross platform serialization library architected for maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.
Go to our landing page to browse our documentation.
Supported operating systems
- Windows
- MacOS X
- Linux
- Android
- And any others with a recent C++ compiler.
Supported programming languages
- C++
- C#
- C
- Dart
- Go
- Java
- JavaScript
- Lobster
- Lua
- PHP
- Python
- Rust
- TypeScript
and more in progress...
Contribution
- FlatBuffers Google Group to discuss FlatBuffers with other developers and users.
- FlatBuffers Issues Tracker to submit an issue.
- stackoverflow.com with
flatbufferstag for any questions regarding FlatBuffers.
To contribute to this project, see CONTRIBUTING.
Licensing
Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Description
FlatBuffers: Memory Efficient Serialization Library
cc-plus-pluscross-platformc-sharpflatbuffersgogrpcjavajavascriptjson-parsermarshallingmmapprotobufpythonrpcrustserializationserialization-librarytypescriptzero-copy
Readme
Apache-2.0
77 MiB
Languages
C++
37.8%
Rust
13.5%
Swift
7.7%
Python
6.9%
C#
5.6%
Other
28.5%