private void CreateMessageSerializationEngines(SerializationRegistry registry) { foreach (var mapping in registry.Mappings) { var messageEngine = MessageSerializationEngine.Create(mapping); _messageEnginesByType.Add(messageEngine.MessageType, messageEngine); _messageEnginesByTypeId.Add(messageEngine.MessageTypeId, messageEngine); } }
public static MessageSerializationEngine Create(SerializationMapping serializationMapping) { if (serializationMapping == null) { throw new ArgumentNullException(nameof(serializationMapping)); } var messageType = serializationMapping.MessageType; var messageTypeId = MessageTypeId.Get(messageType); var messageSerializer = (IBinaryMessageSerializer)Activator.CreateInstance(serializationMapping.MessageSerializerType); var messageEngine = new MessageSerializationEngine(messageTypeId, messageType, messageSerializer, serializationMapping.Allocator, serializationMapping.Releaser); return(messageEngine); }