private MessageSerializationEngine(MessageTypeId messageTypeId, Type messageType, IBinaryMessageSerializer messageSerializer, IMessageAllocator allocator, IMessageReleaser releaser) { MessageTypeId = messageTypeId; MessageType = messageType; Serializer = messageSerializer; Allocator = allocator; Releaser = releaser; }
public ReleasableMessage(MessageTypeId messageTypeId, object message, IMessageReleaser releaser) { MessageTypeId = messageTypeId; Message = message; Releaser = releaser; }
public SerializationRegistry Register <TMessage, TSerializer>(IMessageAllocator allocator = null, IMessageReleaser releaser = null) where TMessage : new() where TSerializer : IBinaryMessageSerializer { _mappings.Add(new SerializationMapping { Allocator = allocator ?? new HeapAllocator <TMessage>(), Releaser = releaser, MessageSerializerType = typeof(TSerializer), MessageType = typeof(TMessage), }); return(this); }