コード例 #1
0
 public PlanningPokerWebSocketHandler(IMessageExchanger messageExchanger, IMessageProcessor messageProcessor, IPokerTables tables, ICardSelections selections)
 {
     _messageExchanger = messageExchanger;
     _messageProcessor = messageProcessor;
     _tables           = tables;
     _selections       = selections;
 }
コード例 #2
0
ファイル: BackgroundWorker.cs プロジェクト: L0ndra/Coursework
 public BackgroundWorker(IMessageExchanger messageExchanger, IMessageGenerator messageGenerator,
                         IComponentDrawer networkDrawer, IMessageCreator messageCreator,
                         IMessageRegistrator messageRegistrator, IMessageViewUpdater messageViewUpdated,
                         int updatePeriod)
 {
     _messageExchanger   = messageExchanger;
     _messageGenerator   = messageGenerator;
     _networkDrawer      = networkDrawer;
     _messageCreator     = messageCreator;
     _messageRegistrator = messageRegistrator;
     _updatePeriod       = updatePeriod;
     _messageViewUpdated = messageViewUpdated;
     _locker             = new Mutex();
 }
コード例 #3
0
        public void Setup()
        {
            _networkMock         = new Mock <INetworkHandler>();
            _messageReceiverMock = new Mock <IMessageReceiver>();

            _messageExchanger = new MessageExchanger(_networkMock.Object, _messageReceiverMock.Object);

            _channels = new[]
            {
                new Channel
                {
                    Id             = Guid.Empty,
                    ConnectionType = ConnectionType.Duplex,
                    ChannelType    = ChannelType.Ground,
                    FirstNodeId    = 0,
                    SecondNodeId   = 1,
                    ErrorChance    = 0.5,
                    Price          = 10,
                    Capacity       = 5
                }
            };

            _nodes = new[]
            {
                new Node
                {
                    Id                   = 0,
                    LinkedNodesId        = new SortedSet <uint>(new uint[] { 1 }),
                    NodeType             = NodeType.MainMetropolitanMachine,
                    MessageQueueHandlers = new List <MessageQueueHandler>
                    {
                        new MessageQueueHandler(Guid.Empty)
                    },
                    IsActive         = true,
                    CanceledMessages = new List <Message>()
                },
                new Node
                {
                    Id                   = 1,
                    LinkedNodesId        = new SortedSet <uint>(new uint[] { 0 }),
                    NodeType             = NodeType.CentralMachine,
                    MessageQueueHandlers = new List <MessageQueueHandler>
                    {
                        new MessageQueueHandler(Guid.Empty)
                    },
                    IsActive = false
                }
            };

            _message = new Message
            {
                SenderId           = 0,
                LastTransferNodeId = 0,
                ReceiverId         = 1,
                Route    = new[] { _channels.First() },
                DataSize = 20
            };

            _networkMock.Setup(n => n.Nodes)
            .Returns(_nodes);

            _networkMock.Setup(n => n.GetNodeById(It.IsAny <uint>()))
            .Returns((uint nodeId) => _nodes.FirstOrDefault(n => n.Id == nodeId));

            _networkMock.Setup(n => n.Channels)
            .Returns(_channels);

            _networkMock.Setup(n => n.GetChannel(It.IsAny <uint>(), It.IsAny <uint>()))
            .Returns(_channels.First());
        }
コード例 #4
0
 public RevealMessage(IMessageExchanger messageExchanger)
 {
     _messageExchanger = messageExchanger;
 }
コード例 #5
0
ファイル: MainWindow.xaml.cs プロジェクト: L0ndra/Coursework
        private void InitializeAllServices(double messageGenerateChance, int tableUpdatePeriod,
                                           bool isPackageMode, bool isRouterStupid, int messagesSize)
        {
            if (isRouterStupid)
            {
                _messageRouter = new IndependentMessageRouter(_network);
            }
            else
            {
                _messageRouter = new MessageRouter(_network);
            }


            if (isPackageMode)
            {
                _messageCreator = new PackageMessageCreator(_network, _messageRouter);
            }
            else
            {
                _messageCreator = new RequestMessageCreator(_network, _messageRouter);
            }

            _positiveResponseMessageCreator = new PositiveResponseCreator(_network, _messageRouter);
            _negativeResponseMessageCreator = new NegativeResponseCreator(_network, _messageRouter);

            _messageHandler   = new MessageHandler(_network, _messageCreator, _positiveResponseMessageCreator);
            _messageReceiver  = new MessageReceiver(_messageHandler, _negativeResponseMessageCreator);
            _messageExchanger = new MessageExchanger(_network, _messageReceiver);

            if (messagesSize > 0)
            {
                _messageGenerator = new SpecifiedSizeMessageGenerator(_network, _messageCreator, messageGenerateChance,
                                                                      messagesSize);
            }
            else
            {
                _messageGenerator = new MessageGenerator(_network, _messageCreator, messageGenerateChance);
            }


            _messageRepository  = new MessageRepository(_network);
            _messageViewUpdater = new MessageViewUpdater(_messageRepository, Messages);

            _messageRegistrator = new MessageRegistrator(_messageRepository);

            _messagesStatisticCounter = new MessagesStatisticCounter(_messageRegistrator, _messageRepository);

            _backgroundWorker = new Background.BackgroundWorker(_messageExchanger, _messageGenerator,
                                                                _networkDrawer, _messageCreator, _messageRegistrator, _messageViewUpdater, tableUpdatePeriod);

            _messageCreator.UpdateTables();

            FiltrationModeSelect_OnSelectionChanged(FiltrationModeSelect, null);

            _backgroundWorker.Run();

            _backgroundWorker.Interval = IntervalSlider.Value;

            _headerUpdater = new DispatcherTimer
            {
                Interval = TimeSpan.FromMilliseconds(IntervalSlider.Value)
            };

            _headerUpdater.Tick += (sender, args) => Title = $"Coursework (time: {_backgroundWorker.Ticks})";

            _headerUpdater.Start();
        }
コード例 #6
0
 public EffortMessage(IMessageExchanger messageExchanger, ICardSelections selections)
 {
     _messageExchanger = messageExchanger;
     _selections       = selections;
 }
コード例 #7
0
 public UserNameMessage(IMessageExchanger messageExchanger, IPokerTables tables)
 {
     _tables           = tables;
     _messageExchanger = messageExchanger;
 }