Example #1
0
        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);
            }
        }
Example #2
0
            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);
            }