• Eric Erhardt's avatar
    Remove byte* property in ByteBufferAllocator (#5191) · 0cdacdfb
    Eric Erhardt authored
    * Remove byte* property in ByteBufferAllocator.
    
    This allows consumers to read/write into native memory, but without
    having to always pin the managed `byte[]` when working with managed
    memory. This allows for users to not need to Dispose() ByteBuffers
    when they are using the default ByteArrayAllocator class.
    
    Instead, we use `Span<byte> GetSpan()` methods to get access to the
    underlying memory buffer.
    
    Fix #5181
    
    * Add a set of benchmark tests.
    
    * Add ReadOnly spans.
    
    This allows consumers to use ReadOnlyMemory<byte> as the backing storage
    for ByteBuffers, which is useful in read-only scenarios.
    
    * Run tests using ENABLE_SPAN_T in appveyor.
    
    * Fix FlatBuffers.Test.csproj to work on older MSBuild versions.
    
    * Change the test script to test UNSAFE_BYTEBUFFER
    
    * Address PR feedback.
    
    Remove IDisposable from ByteBuffer.
    
    * Respond to PR feedback.
    0cdacdfb
Name
Last commit
Last update
.appveyor Loading commit data...
.bazelci Loading commit data...
.github Loading commit data...
.travis Loading commit data...
CMake Loading commit data...
android Loading commit data...
conan Loading commit data...
dart Loading commit data...
docs Loading commit data...
go Loading commit data...
grpc Loading commit data...
include/flatbuffers Loading commit data...
java/com/google/flatbuffers Loading commit data...
js Loading commit data...
lobster Loading commit data...
lua Loading commit data...
net/FlatBuffers Loading commit data...
php Loading commit data...
python Loading commit data...
reflection Loading commit data...
rust/flatbuffers Loading commit data...
samples Loading commit data...
src Loading commit data...
tests Loading commit data...
.clang-format Loading commit data...
.editorconfig Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
BUILD Loading commit data...
CMakeLists.txt Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE.txt Loading commit data...
WORKSPACE Loading commit data...
appveyor.yml Loading commit data...
build_defs.bzl Loading commit data...
composer.json Loading commit data...
conanfile.py Loading commit data...
package.json Loading commit data...
pom.xml Loading commit data...
readme.md Loading commit data...