Age | Commit message (Collapse) | Author | Files | Lines |
|
This is something the format supports, but none of the builders
were doing. Can save 10-20% on FlatBuffer binary size!
Also fixed the Go tests.
Change-Id: I616c56ce9bbcfcaee23aa24f0532fcb60b6a8c75
Tested: on Linux.
|
|
|
|
* Resolve Go fmt and vet warnings.
* Undo generated code gofmt.
|
|
Change-Id: Ie854ace69a21ef685e1ade5584f9d9ce4e8b41f1
|
|
36daedf35fd0cc2ad0e5e24d187b25613c13660e.
This was causing build failures with tools dependent on Flatbuffers in Go.
E.g.
go/src/github.com/google/flatbuffers/go/sizes.go:50: undefined: unsafe in unsafe.Pointer
|
|
Avoid unsafe when sizing types
|
|
Add a generic way to deserialize a flatbuffer in Go.
|
|
* support for grpc golang
* refactored grpc go generator
* added grpc-go test and refactored
* refactored idl_gen_grpc.cpp
* fixed grpc generate method name
* refactored flatc and fixed line length issue
* added codec to go lib and fixed formatting issues
* fixed spacing issues
|
|
Similar to what protobufs does with its `Message` interface, introduce here such interface and create a generic `GetRootAs` method to deserialize a flatbuffer.
|
|
|
|
|
|
|
|
+ Add state to the Builder object to track if we are inside a table,
and if we are finished building the buffer.
+ Use this data to check that a buffer is being built correctly.
+ Panic if a buffer is not being built correctly.
+ Test that the panics happen as expected.
Based on d236dea13d2fdb9ad596679868eb4204c1562151.
|
|
Also add a new `insideObject` boolean to the Builder to track whether an
object is currently being constructed. This fixes a bug with objects
that have zero fields.
|
|
Big speed boost for the typical use case of building with strings.
|
|
Go speed improvements
|
|
|
|
|
|
|
|
Change-Id: I15cc8924d6607bd93068c762fd67e6088cfd9789
|
|
Change-Id: If08b2d839489d40e977de794b13584fa66ff32c1
|
|
Add the function `Reset` to the Builder, which facilitates reuse of the
underlying byte slice.
|
|
Builder has a new CreateByteString function that writes a
null-terimnated byte slice to the buffer. This results in zero
allocations for writing strings.
|
|
|
|
This function gets around the inefficiency of populating a [ubyte] vector
byte by byte. Since ubyte vectors are probably the most commonly used type
of generic byte buffer, this seems like a worthwhile thing to create a
fast path for.
Benchmarks show a 6x improvement in throughput on x64.
There is a new test verifying the functionality of the function.
Change-Id: I82e0228ae0f815dd7ea89bf168b8c1925f3ce0d7
|
|
Change-Id: Iac5894fd8f56da7e420714558a94d63d4fea2d72
|
|
Mirrors Java patch 39d4b7e2bf
Change-Id: If8d0ab29f6eb508a156d468aeb0a9d5410149e53
|
|
Java patch with same purpose:
cdb0dca39d683d577caa7fde21a1b6db9aa64734
Change-Id: I57d268cc0064843779eb7812a9e69326d9ab2498
Tested: on Darwin
|
|
Implement code generation and runtime library for Go, derived from the
Java implementation. Additionally, the test suite verifies:
- the exact bytes in the Builder buffer during object construction,
- vtable deduplication, and
- table construction, via a fuzzer derived from the C++ implementation.
Change-Id: Ib95a019c684891def2b50281e570b4843fea7baa
|