Beispiel #1
0
        public void TestCachedMessages()
        {
            var node1 = Node.With(Id.Of(2), Name.Of("node2"), Host.Of("localhost"), 37373, 37374);
            var cache = new OperationalMessageCache(node1);

            var elect = cache.CachedRawMessage(OperationalMessage.ELECT);

            Assert.True(OperationalMessage.MessageFrom(elect.AsTextMessage()).IsElect);

            var join = cache.CachedRawMessage(OperationalMessage.JOIN);

            Assert.True(OperationalMessage.MessageFrom(join.AsTextMessage()).IsJoin);

            var leader = cache.CachedRawMessage(OperationalMessage.LEADER);

            Assert.True(OperationalMessage.MessageFrom(leader.AsTextMessage()).IsLeader);

            var leave = cache.CachedRawMessage(OperationalMessage.LEAVE);

            Assert.True(OperationalMessage.MessageFrom(leave.AsTextMessage()).IsLeave);

            var ping = cache.CachedRawMessage(OperationalMessage.PING);

            Assert.True(OperationalMessage.MessageFrom(ping.AsTextMessage()).IsPing);

            var pulse = cache.CachedRawMessage(OperationalMessage.PULSE);

            Assert.True(OperationalMessage.MessageFrom(pulse.AsTextMessage()).IsPulse);

            var vote = cache.CachedRawMessage(OperationalMessage.VOTE);

            Assert.True(OperationalMessage.MessageFrom(vote.AsTextMessage()).IsVote);
        }
Beispiel #2
0
        public void TestNonCachedMessages()
        {
            var node1 = Node.With(Id.Of(2), Name.Of("node2"), Host.Of("localhost"), 37373, 37374);
            var cache = new OperationalMessageCache(node1);

            bool caught;

            try
            {
                caught = false;
                cache.CachedRawMessage(OperationalMessage.CHECKHEALTH);
            }
            catch
            {
                caught = true;
            }
            Assert.True(caught);

            try
            {
                caught = false;
                cache.CachedRawMessage(OperationalMessage.DIR);
            }
            catch
            {
                caught = true;
            }
            Assert.True(caught);

            try
            {
                caught = false;
                cache.CachedRawMessage(OperationalMessage.SPLIT);
            }
            catch
            {
                caught = true;
            }
            Assert.True(caught);
        }
 public OperationalOutboundStreamActor(Node node, IManagedOutboundChannelProvider provider, ConsumerByteBufferPool byteBufferPool)
 {
     _node     = node;
     _outbound = new Outbound(provider, byteBufferPool);
     _cache    = new OperationalMessageCache(node);
 }