1234567891011121314151617181920212223242526272829303132 |
- using MessagePack;
- using MessagePack.Resolvers;
- namespace EasyMQ
- {
- public class MessagePackSerializer : ISerializer
- {
- private MessagePackSerializerOptions options;
- public MessagePackSerializer()
- {
- options = TypelessContractlessStandardResolver.Options.WithOmitAssemblyVersion(true);
- }
- public T Deserialize<T>(ReadOnlyMemory<byte> bytes)
- {
- try
- {
- return MessagePack.MessagePackSerializer.Deserialize<T>(bytes, options);
- }
- catch
- {
- return Activator.CreateInstance<T>();
- }
- }
- public byte[] Serialize<T>(ref T value)
- {
- var result = MessagePack.MessagePackSerializer.Serialize(value, options);
- return result;
- }
- }
- }
|