NextTests.Mocks.PublicFeedStub.ReceiveMessage C# (CSharp) Method

ReceiveMessage() public method

public ReceiveMessage ( string message ) : void
message string
return void
        public void ReceiveMessage(string message)
        {
            OnReceivedSomething(message);
        }

Usage Example

Ejemplo n.º 1
0
        public void TimeReceiving1MillionMessages()
        {
            const string format = @"{{""cmd"":""depth"",""args"":{{""i"":""{0}"",""m"":30,""t"":""depth"",""tick_timestamp"":""2010-01-22 16:22:06"",""bid1"":0.00,""bid_volume1"":0,""ask1"":120.00,""ask_volume1"":200,""bid2"":0.00,""bid_volume2"":0,""ask2"":0.00,""ask_volume2"":0,""bid3"":0.00,""bid_volume3"":0,""ask3"":0.00,""ask_volume3"":0,""bid4"":0.00,""bid_volume4"":0,""ask4"":0.00,""ask_volume4"":0,""bid5"":0.00,""bid_volume5"":0,""ask5"":0.00,""ask_volume5"":0}}}}";
            const int n = 1000000;
            var messages = new string[n];
            for (int i = 0; i < n; i++)
            {
                messages[i] = string.Format(format, i);
            }
            var feed = new PublicFeedStub();
            var args = new List<DepthTick>(n);
            Stopwatch stopwatch = Stopwatch.StartNew();
            feed.RecievedDepth += (_, e) => args.Add(e);

            for (int i = 0; i < n; i++)
            {
                feed.ReceiveMessage(messages[i]);
            }
            Console.WriteLine("This took {0} ms {1}", stopwatch.ElapsedMilliseconds, DateTime.Now.ToShortDateString());
            // This took 24152 ms 2014-09-14
            Assert.AreEqual(n, args.Count);
        }