コード例 #1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }


            var log      = new InMemoryLog();
            var fsm      = new InMemoryStateMachine();
            var settings = new InMemorySettings(1000, 3500, 50, 5000);

            var _peers = new List <IPeer>();
            var peer1  = new NodePeer();

            _peers.Add(new NodePeer()
            {
            });
            var peersProvider = new InMemoryPeersProvider(_peers);
            var node          = new Node(fsm, log, settings, peersProvider, loggerFactory);

            node.Start(new NodeId("gsw" + DateTime.Now.ToString("HHmmssfff")));

            app.UseMvc();
        }
コード例 #2
0
        private void StartServer(int index)
        {
            var log           = new InMemoryLog();
            var fsm           = new InMemoryStateMachine();
            var settings      = new InMemorySettingsBuilder().WithMinTimeout(1000).WithMaxTimeout(3500).WithHeartbeatTimeout(50).Build();
            var peersProvider = new InMemoryPeersProvider(_peers);
            var node          = new Node(fsm, log, settings, peersProvider);
            var server        = new Server(log, fsm, node);

            _servers.TryAdd(index, server);
        }
コード例 #3
0
        static void Main(string[] args)
        {
            var log = new InMemoryLog();

            var fsm      = new InMemoryStateMachine();
            var settings = new InMemorySettings(1000, 3500, 50, 5000);

            var _peers        = new List <IPeer>();
            var peersProvider = new InMemoryPeersProvider(_peers);
            var node          = new Node(fsm, log, settings, peersProvider, null);

            node.Start(new NodeId("gsw"));
        }
コード例 #4
0
        public void ShouldReturnPeers()
        {
            var input = new List <IPeer>
            {
                new FakePeer(),
                new FakePeer(),
                new FakePeer(),
                new FakePeer(),
                new FakePeer()
            };
            var provider = new InMemoryPeersProvider(input);
            var peers    = provider.Get();

            peers.Count.ShouldBe(5);
        }
コード例 #5
0
        private void StartServer(int index)
        {
            var log           = new InMemoryLog();
            var fsm           = new InMemoryStateMachine();
            var settings      = new InMemorySettingsBuilder().WithMinTimeout(1000).WithMaxTimeout(3500).WithHeartbeatTimeout(50).Build();
            var peersProvider = new InMemoryPeersProvider(_peers);

            var logger        = new Mock <ILogger>();
            var loggerFactory = new Mock <ILoggerFactory>();

            loggerFactory.Setup(x => x.CreateLogger(It.IsAny <string>())).Returns(logger.Object);

            var node   = new Node(fsm, log, settings, peersProvider, loggerFactory.Object);
            var server = new Server(log, fsm, node);

            _servers.TryAdd(index, server);
        }
コード例 #6
0
 private void AddNewServers(int count)
 {
     for (int i = 0; i < count; i++)
     {
         var peer = new NodePeer();
         _peers.Add(peer);
         var log           = new InMemoryLog();
         var fsm           = new InMemoryStateMachine();
         var settings      = new InMemorySettingsBuilder().WithMinTimeout(1000).WithMaxTimeout(3500).WithHeartbeatTimeout(50).Build();
         var peersProvider = new InMemoryPeersProvider(_peers);
         var node          = new Node(fsm, log, settings, peersProvider);
         var server        = new Server(log, fsm, node);
         peer.SetNode(server.Node);
         var nextIndex = _servers.Count;
         _servers.TryAdd(nextIndex, server);
         node.Start(Guid.NewGuid().ToString());
     }
 }
コード例 #7
0
        private void AddNewServers(int count)
        {
            for (int i = 0; i < count; i++)
            {
                var peer = new NodePeer();
                _peers.Add(peer);
                var log           = new InMemoryLog();
                var fsm           = new InMemoryStateMachine();
                var settings      = new InMemorySettingsBuilder().WithMinTimeout(1000).WithMaxTimeout(3500).WithHeartbeatTimeout(50).Build();
                var peersProvider = new InMemoryPeersProvider(_peers);

                var logger        = new Mock <ILogger>();
                var loggerFactory = new Mock <ILoggerFactory>();
                loggerFactory.Setup(x => x.CreateLogger(It.IsAny <string>())).Returns(logger.Object);

                var node   = new Node(fsm, log, settings, peersProvider, loggerFactory.Object);
                var server = new Server(log, fsm, node);
                peer.SetNode(server.Node);
                var nextIndex = _servers.Count;
                _servers.TryAdd(nextIndex, server);
                node.Start(new NodeId(Guid.NewGuid().ToString()));
            }
        }