Refactor MessageSerializationRegister #1114
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Initial refactor ahead of tackling more of the issues mentioned in #1112
The
Lazy<T>
might be overkill, but feels like the right pattern to use if we are usingConcurrentDictionary
.This change keeps a
HashSet<IMessageSerializer>
, which will in most cases be 1 per message format (so only ever 1, until we introduce something like the CloudEvents format), this will reduce the work to figure out the subject, then we key theTypeSerializer
by the subject. It makes more sense, and gives us the ability to easily add custom subjects later.