public void Serializes_and_deserializes_without_attributes()
 {
     var serializer = new ProtocolBuffersSerializer();
     var @event = new StringEvent("foo");
     var serialized = serializer.SerializeToStream(@event);
     serialized.Position = 0;
     var deserialized = serializer.DeserializeFromStream<StringEvent>(serialized);
     Assert.AreEqual(@event, deserialized);
 }
示例#2
0
        public void Serializes_and_deserializes_without_attributes()
        {
            var serializer = new ProtocolBuffersSerializer();
            var @event     = new StringEvent("foo");
            var serialized = serializer.SerializeToStream(@event);

            serialized.Position = 0;
            var deserialized = serializer.DeserializeFromStream <StringEvent>(serialized);

            Assert.AreEqual(@event, deserialized);
        }
示例#3
0
        public void Messages_are_queued()
        {
            var block = new AutoResetEvent(false);

            var serializer = new ProtocolBuffersSerializer();
            var socket = new ZmqConsumer<StringEvent>("tcp://127.0.0.1:5000", serializer);
            var consumer = new DelegatingConsumer<StringEvent>(Console.WriteLine, socket); // logs to console before forwarding
            var producer = new ObservingProducer<StringEvent>();

            producer.Attach(consumer);
            producer.Produces(GetPayload(), onCompleted: () => block.Set());
            producer.Start();

            block.WaitOne();
            socket.Dispose();
        }
示例#4
0
        public void Messages_are_queued()
        {
            var block = new AutoResetEvent(false);

            var serializer = new ProtocolBuffersSerializer();
            var socket     = new ZmqConsumer <StringEvent>("tcp://127.0.0.1:5000", serializer);
            var consumer   = new DelegatingConsumer <StringEvent>(Console.WriteLine, socket); // logs to console before forwarding
            var producer   = new ObservingProducer <StringEvent>();

            producer.Attach(consumer);
            producer.Produces(GetPayload(), onCompleted: () => block.Set());
            producer.Start();

            block.WaitOne();
            socket.Dispose();
        }
        private static void GetDictionary(out Dictionary dictionary)
        {
            ISerializer serializer = new ProtocolBuffersSerializer();
            var         watch      = new Stopwatch();

            if (!File.Exists(@"Dictionary\serialized"))
            {
                watch.Start();
                dictionary = new Dictionary(@"Dictionary\words.txt");
                watch.Stop();

                var data = serializer.Serialize <Dictionary>(dictionary);
                File.WriteAllBytes(@"Dictionary\serialized", data);
            }
            else
            {
                watch.Start();
                var data = File.ReadAllBytes(@"Dictionary\serialized");
                dictionary = serializer.Deserialize <Dictionary>(data);
                watch.Stop();
            }
            Console.WriteLine("Wczytano słownik - czas: {0} ms", 1000.0 * watch.ElapsedTicks / Stopwatch.Frequency);
        }