jamescourtney / FlatSharp

Fast, idiomatic C# implementation of Flatbuffers
Apache License 2.0
510 stars 51 forks source link

Add x64 support #451

Open jamescourtney opened 2 days ago

jamescourtney commented 2 days ago

Revise how IInputBuffer and ISpanWriter work to support x64 scenarios

codecov[bot] commented 2 days ago

Codecov Report

Attention: Patch coverage is 83.79254% with 100 lines in your changes missing coverage. Please review.

Project coverage is 95.56%. Comparing base (53da419) to head (17ad105).

Files with missing lines Patch % Lines
...O/SerializationTarget/MemorySerializationTarget.cs 0.00% 18 Missing :warning:
...IO/SerializationTarget/ArraySerializationTarget.cs 41.66% 14 Missing :warning:
.../SerializationTarget/VirtualSerializationTarget.cs 0.00% 12 Missing :warning:
src/FlatSharp.Runtime/ISerializerExtensions.cs 33.33% 10 Missing and 2 partials :warning:
.../IO/SerializationTarget/SpanSerializationTarget.cs 56.52% 10 Missing :warning:
...e/IO/InputBuffer/SerializationTargetInputBuffer.cs 50.00% 9 Missing :warning:
...rp.Runtime/IO/InputBuffer/InputBufferExtensions.cs 92.92% 3 Missing and 4 partials :warning:
...ializationTarget/InputBufferSerializationTarget.cs 77.27% 5 Missing :warning:
...untime/IO/InputBuffer/ReadOnlyMemoryInputBuffer.cs 80.95% 4 Missing :warning:
...c/FlatSharp.Runtime/SortedVectorHelpersInternal.cs 95.38% 2 Missing and 1 partial :warning:
... and 5 more
Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451/graphs/tree.svg?width=650&height=150&src=pr&token=6EUECHZGT4&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney)](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney) ```diff @@ Coverage Diff @@ ## main #451 +/- ## ========================================== - Coverage 96.61% 95.56% -1.06% ========================================== Files 124 129 +5 Lines 8843 8862 +19 Branches 730 739 +9 ========================================== - Hits 8544 8469 -75 - Misses 215 299 +84 - Partials 84 94 +10 ``` | [Files with missing lines](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney) | Coverage Δ | | |---|---|---| | [src/FlatSharp.Runtime/BufferTooSmallException.cs](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&filepath=src%2FFlatSharp.Runtime%2FBufferTooSmallException.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney#diff-c3JjL0ZsYXRTaGFycC5SdW50aW1lL0J1ZmZlclRvb1NtYWxsRXhjZXB0aW9uLmNz) | `100.00% <ø> (ø)` | | | [src/FlatSharp.Runtime/IGeneratedSerializer.cs](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&filepath=src%2FFlatSharp.Runtime%2FIGeneratedSerializer.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney#diff-c3JjL0ZsYXRTaGFycC5SdW50aW1lL0lHZW5lcmF0ZWRTZXJpYWxpemVyLmNz) | `100.00% <ø> (ø)` | | | [...tSharp.Runtime/IO/InputBuffer/MemoryInputBuffer.cs](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&filepath=src%2FFlatSharp.Runtime%2FIO%2FInputBuffer%2FMemoryInputBuffer.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney#diff-c3JjL0ZsYXRTaGFycC5SdW50aW1lL0lPL0lucHV0QnVmZmVyL01lbW9yeUlucHV0QnVmZmVyLmNz) | `100.00% <100.00%> (ø)` | | | [src/FlatSharp.Runtime/IO/SharedStringWriter.cs](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&filepath=src%2FFlatSharp.Runtime%2FIO%2FSharedStringWriter.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney#diff-c3JjL0ZsYXRTaGFycC5SdW50aW1lL0lPL1NoYXJlZFN0cmluZ1dyaXRlci5jcw==) | `94.02% <100.00%> (ø)` | | | [src/FlatSharp.Runtime/SerializationHelpers.cs](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&filepath=src%2FFlatSharp.Runtime%2FSerializationHelpers.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney#diff-c3JjL0ZsYXRTaGFycC5SdW50aW1lL1NlcmlhbGl6YXRpb25IZWxwZXJzLmNz) | `82.75% <100.00%> (ø)` | | | [src/FlatSharp.Runtime/SortedVectorHelpers.cs](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&filepath=src%2FFlatSharp.Runtime%2FSortedVectorHelpers.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney#diff-c3JjL0ZsYXRTaGFycC5SdW50aW1lL1NvcnRlZFZlY3RvckhlbHBlcnMuY3M=) | `98.82% <100.00%> (ø)` | | | [src/FlatSharp.Runtime/VTables/VTable4.cs](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&filepath=src%2FFlatSharp.Runtime%2FVTables%2FVTable4.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney#diff-c3JjL0ZsYXRTaGFycC5SdW50aW1lL1ZUYWJsZXMvVlRhYmxlNC5jcw==) | `92.30% <100.00%> (ø)` | | | [src/FlatSharp.Runtime/VTables/VTable8.cs](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&filepath=src%2FFlatSharp.Runtime%2FVTables%2FVTable8.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney#diff-c3JjL0ZsYXRTaGFycC5SdW50aW1lL1ZUYWJsZXMvVlRhYmxlOC5jcw==) | `93.75% <100.00%> (ø)` | | | [src/FlatSharp.Runtime/VTables/VTableGeneric.cs](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&filepath=src%2FFlatSharp.Runtime%2FVTables%2FVTableGeneric.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney#diff-c3JjL0ZsYXRTaGFycC5SdW50aW1lL1ZUYWJsZXMvVlRhYmxlR2VuZXJpYy5jcw==) | `100.00% <ø> (ø)` | | | [src/FlatSharp/FlatBufferVectorHelpers.cs](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree&filepath=src%2FFlatSharp%2FFlatBufferVectorHelpers.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney#diff-c3JjL0ZsYXRTaGFycC9GbGF0QnVmZmVyVmVjdG9ySGVscGVycy5jcw==) | `100.00% <100.00%> (ø)` | | | ... and [40 more](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney) | | ... and [1 file with indirect coverage changes](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney) ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?dropdown=coverage&src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney). Last update [53da419...17ad105](https://app.codecov.io/gh/jamescourtney/FlatSharp/pull/451?dropdown=coverage&src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=James+Courtney).