public TopicRoute(ITopicRule rule, WriterCollection <IMessageSerializer> writers, ITopicRouter router, IMessagingRoot root, MessageTypeRouting messageTypeRouting) { _rule = rule; _writers = writers; _router = router; _root = root; _messageTypeRouting = messageTypeRouting; }
public GroBufWriter(long serializerId, IDataMembersExtractor dataMembersExtractor, IGroBufCustomSerializerCollection customSerializerCollection, GroBufOptions options, Func <Type, IGroBufCustomSerializer> factory, Func <Type, IGroBufCustomSerializer> baseFactory) { this.serializerId = serializerId; this.dataMembersExtractor = dataMembersExtractor; this.Options = options; sizeCounterCollection = new SizeCounterCollection(customSerializerCollection, factory, baseFactory); writerCollection = new WriterCollection(customSerializerCollection, factory, baseFactory); assembly = AssemblyBuilder.DefineDynamicAssembly(new AssemblyName(Guid.NewGuid().ToString()), AssemblyBuilderAccess.Run); module = assembly.DefineDynamicModule(Guid.NewGuid().ToString()); trackReferences = options.HasFlag(GroBufOptions.PackReferences); }
public StaticRoute(ISendingAgent agent, WriterCollection <IMessageSerializer> writers, MessageTypeRouting routing) { _agent = agent; _endpoint = agent.Endpoint; _writers = writers; _routing = routing; // TODO -- select the right serializer for the endpoint // hard-coding to JSON for now _writer = writers.ChooseWriter("application/json"); }
public unsafe byte[] Serialize <T>(T obj) { var writer = WriterCollection.GetWriter(typeof(T)); var res = new byte[writer.GetSize(obj)]; fixed(byte *b = &res[0]) { int index = 0; writer.Write(obj, b, ref index); } return(res); }