private MachineContext CreateContext() { return(MachineContext.Create(b => b .RegisterIdentities(typeof(PacketSerialization_Id)) .RegisterMessages(typeof(PacketSerialization_Event), typeof(PacketSerialization_Child_Event)) )); }
public void message_should_work() { var context = MachineContext.Create(b => b .RegisterIdentities(typeof(UserId) /*, typeof(SuperUserId)*/) ); var metadata = new MessageMetadata(); metadata.Receivers = new List <IIdentity>() { new UserId() { Value = "hello" }, new UserId() { Value = "hello232" }, new UserId() { Value = "hello232dfhdghdgh" }, }; var bytes = ProtobufSerializer.SerializeProtocalBuffer(metadata, context.Serializer.Model); var back = ProtobufSerializer.DeserializeProtocalBuffer <MessageMetadata>(bytes, context.Serializer.Model); }
public void simple_pum_para_pum() { var journalStorage = new InMemoryJournalStorage(); var context = MachineContext.Create(b => b .RegisterMessages(typeof(EnvelopeSerializer_Event), typeof(EnvelopeSerializer_Child_Event)) .RegisterIdentities(typeof(EnvelopeSerializer_Id)) .AddRouter("process", new ProcessRouter()) ); var message = new EnvelopeSerializer_Event() { Rate = 0.7, Title = "Muahaha!" }; var messageMetadata = new EventMetadata() { Receivers = new[] { new EnvelopeSerializer_Id() { Value = "hello" } } }; context.RunHost(h => h .AddNode(new RouterNode(context, "inproc://rep", "inproc://pub", "inproc://domain", journalStorage)) .AddNode(new ProcessesNode(context, "inproc://domain", "inproc://rep")) .SetTimeout(700) .Execute(token => { using (var input = context.CreateSocket(SocketType.PUSH)) { input.Connect("inproc://rep", token); input.SendPacket(context.CreatePacket(message, messageMetadata)); input.SendPacket(context.CreatePacket(message, messageMetadata)); input.SendPacket(context.CreatePacket(message, messageMetadata)); input.SendPacket(context.CreatePacket(message, messageMetadata)); input.SendPacket(context.CreatePacket(message, messageMetadata)); } }) ); var seq = journalStorage.GetPrivateFieldValue <Int64>("_sequance"); var storage = journalStorage.GetPrivateFieldValue <SortedList <Int64, IPacketMessageEnvelope> >("_storage"); Assert.That(seq, Is.EqualTo(5)); var firstMessage = (EnvelopeSerializer_Event)storage[1].Message; Assert.That(firstMessage == message, Is.False); Assert.That(firstMessage.Rate, Is.EqualTo(message.Rate)); Assert.That(firstMessage.Title, Is.EqualTo(message.Title)); var result = journalStorage.Load(3, 100); var queue = new Queue(1); }
public void test() { var context = MachineContext.Create(b => b .RegisterIdentities(typeof(UserId) /*, typeof(SuperUserId)*/) ); var metadata = new StateMetadata(); metadata.ProcessId = new UserId() { Value = "hello" }; var bytes = ProtobufSerializer.SerializeProtocalBuffer(metadata, context.Serializer.Model); var back = ProtobufSerializer.DeserializeProtocalBuffer <StateMetadata>(bytes, context.Serializer.Model); }
public void mongo_journal_integration_test() { var server = new MongoJournalServer("mongodb://localhost:27018/test_journal"); var journalStorage = new MongoJournalStorage(server); var context = MachineContext.Create(b => b .RegisterMessages(typeof(EnvelopeSerializer_Event), typeof(EnvelopeSerializer_Child_Event)) .RegisterIdentities(typeof(EnvelopeSerializer_Id)) ); var message = new EnvelopeSerializer_Event() { Rate = 0.7, Title = "Muahaha!" }; context.RunHost(h => h .AddNode(new RouterNode(context, "inproc://rep", "inproc://pub", "inproc://domain", journalStorage)) .SetTimeout(1000) .Execute(token => { using (var input = context.CreateSocket(SocketType.PUSH)) { input.Connect("inproc://rep", token); // for (int i = 0; i < 100000; i++) // { input.SendPacket(context.CreatePacket(message)); input.SendPacket(context.CreatePacket(message)); input.SendPacket(context.CreatePacket(message)); input.SendPacket(context.CreatePacket(message)); input.SendPacket(context.CreatePacket(message)); //} } }) ); var seq = server.GetCurrentSequence(); Assert.That(seq, Is.EqualTo(5)); }