-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Serialization Simplification #171
Commits on Oct 26, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b987f00 - Browse repository at this point
Copy the full SHA b987f00View commit details -
Configuration menu - View commit details
-
Copy full SHA for b9398db - Browse repository at this point
Copy the full SHA b9398dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 31ca589 - Browse repository at this point
Copy the full SHA 31ca589View commit details
Commits on Oct 27, 2023
-
Simplify serializer interface with IBufferWriter
IBufferWriter is part of the standard runtime and since we're not using the property introduced by our interface ICountableBuffer (which extends IBufferWriter)there is no reason to keep that dependency on the public interface.
Configuration menu - View commit details
-
Copy full SHA for 1c050d2 - Browse repository at this point
Copy the full SHA 1c050d2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c43029 - Browse repository at this point
Copy the full SHA 2c43029View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd84448 - Browse repository at this point
Copy the full SHA bd84448View commit details -
Configuration menu - View commit details
-
Copy full SHA for a0b2e7e - Browse repository at this point
Copy the full SHA a0b2e7eView commit details -
Configuration menu - View commit details
-
Copy full SHA for a68be08 - Browse repository at this point
Copy the full SHA a68be08View commit details
Commits on Oct 30, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e035240 - Browse repository at this point
Copy the full SHA e035240View commit details -
Replaced JSON serializer with JSON contexts
* Simplified INatsSerializer a little more. (Serialize method's return value wasn't used) * Removed the default JSON serializer which was serializing any object using reflection. Reflection isn't possible with native AOT. This also makes serialization more explicit. * Added a UTF8 primitives serializer in the default serializer chain to cover simple use cases like sending strings or ints. * Added JSON serializer contexts for JS, Obj and Services models.
Configuration menu - View commit details
-
Copy full SHA for c3279f9 - Browse repository at this point
Copy the full SHA c3279f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for e577da9 - Browse repository at this point
Copy the full SHA e577da9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b69bea - Browse repository at this point
Copy the full SHA 2b69beaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2faa786 - Browse repository at this point
Copy the full SHA 2faa786View commit details -
Configuration menu - View commit details
-
Copy full SHA for 49be4db - Browse repository at this point
Copy the full SHA 49be4dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 81e410c - Browse repository at this point
Copy the full SHA 81e410cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f819ab - Browse repository at this point
Copy the full SHA 1f819abView commit details -
Configuration menu - View commit details
-
Copy full SHA for a2ba2cd - Browse repository at this point
Copy the full SHA a2ba2cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 101fd9f - Browse repository at this point
Copy the full SHA 101fd9fView commit details -
Configuration menu - View commit details
-
Copy full SHA for faac0a1 - Browse repository at this point
Copy the full SHA faac0a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7af8987 - Browse repository at this point
Copy the full SHA 7af8987View commit details -
Update src/NATS.Client.Core/INatsSerializer.cs
Co-authored-by: Jasper <jasper-d@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 397d613 - Browse repository at this point
Copy the full SHA 397d613View commit details -
Update src/NATS.Client.Core/Internal/FixedArrayBufferWriter.cs
Co-authored-by: Jasper <jasper-d@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 39b3ce3 - Browse repository at this point
Copy the full SHA 39b3ce3View commit details -
Update src/NATS.Client.Core/NatsBufferWriter.cs
Co-authored-by: Jasper <jasper-d@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 292e31f - Browse repository at this point
Copy the full SHA 292e31fView commit details
Commits on Oct 31, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 27beaf0 - Browse repository at this point
Copy the full SHA 27beaf0View commit details -
Removed unused buffer interface
Also removed method inlining on getters (based on Jasper's advice: Presumably JIT should always inline simple field accesses and the other getters look like they are likely inlined without AggressiveInlining when on a hot path.) Thank you @jasper-d
Configuration menu - View commit details
-
Copy full SHA for 3625e2f - Browse repository at this point
Copy the full SHA 3625e2fView commit details -
Remove next serializer from the interface
Note that chaining serializers is implemented by convention and doesn't need to be enforced by the INatsSerializer interface since the next serializer would not be exposed to external users of the interface.
Configuration menu - View commit details
-
Copy full SHA for de4a3d7 - Browse repository at this point
Copy the full SHA de4a3d7View commit details -
All primitives serialization implemented
All primitives supported by Utf8Parser and Utf8Formatter are implemented.
Configuration menu - View commit details
-
Copy full SHA for 54db6af - Browse repository at this point
Copy the full SHA 54db6afView commit details -
Configuration menu - View commit details
-
Copy full SHA for efbae94 - Browse repository at this point
Copy the full SHA efbae94View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d720ef - Browse repository at this point
Copy the full SHA 9d720efView commit details