You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[DEVEX-222] - Auto serialization feedback improvements (#338)
* [DEVEX-222] Fixed the missing application of custom serialization setting in AppendToStreamAsync method
* [DEVEX-222] Added stream state as a mandatory parameter in append to stream
Added also override for raw event append that has options and made other methods obsolete.
Introduced OperationOptions that compose default client operation settings plus credentials and deadlines.
* [DEVEX-222] Ensured that metadata is serialized with auto-serialization as regular system metadata
* [DEVEX-222] Adjusted samples to match the append api changes
Added also factor for event data that's not requiring to provide id immediately
* [DEVEX-222] Added MessageData type as an easier to use replacement for EventData, and better aligned with general usage of messages instead of just events
* [DEVEX-222] Refactored setting stream metadata to use OperationOptions
* [DEVEX-222] Added DeserializedData and DeserializedMessages extensions for read results
That should be a middle ground without forcing people to use a regular ResolvedEvent if they don't want to
* [DEVEX-222] Simplified the message serializer implementation
Now serializer creates a derived serializer merging operation settings with default settings if needed. That allowed to hide internal details and there's no need to pass content type explicitly, as it's already in settings.
Extended SchemaRegistry to provide wrapper methods to naming resolution context. Thanks to that MessageSerializer doesn't need to reference it internally.
To make responsibilities clearer made also naming resolution context part of serializer context.
* [DEVEX-222] Marked old Stream Metadata options as obsolete
* [DEVEX-222] Made old Read methods obsolete and used the new ones in tests
* [DEVEX-222] Made Read options nullable, to precisely know if user provided options or not
* [DEVEX-222] Made the Read Options nullable and thanks to that smarter, so e.g. FromEnd assigns also backwards if it wasn't set
* [DEVEX-222] Made old SetStreamMetadata and ConditionalAppend methods obsolete
* [DEVEX-222] Added delete method with options
* [DEVEX-222] Made old subscription methods obsolete and adjusted tests to use them
* [DEVEX-222] Added Tombstone method with options and made the old obsolete
* [DEVEX-222] Made all persistent subscription methods obsolete
* [DEVEX-222] Added samples showcasing auto-serialization usage
* [DEVEX-222] Reshaped type resolution strategy to take EventRecord instead of just raw string.
That should enable current users to override their strategy if they used something more than just message type name from EventRecord.
It needs to be EventRecord and not ResolvedEvent, as resolution happens before creating ResolvedEvent.
* [DEVEX-222] Changed message type registration to allow multiple message type names mapping to the same CLR class
* [DEVEX-222] Nested Message type mapping into settings object
* [DEVEX-222] Added nested message type mapping
* [DEVEX-222] Replaced clr type with clr type name in naming resolution
Tha makes naming strategy focused on just mapping types back and forth and allowing to disable auto registration
0 commit comments