예제 #1
0
        private void DispatchEvent(RelayIncomingEvent incomingEvent)
        {
            if (incomingEvent is TransactionResult)
            {
                _transactionManager.HandleTransactionResult((TransactionResult)incomingEvent);
                return;
            }

            var clientEvent = incomingEvent as ClientIncomingEvent;

            if (clientEvent == null)
            {
                _eventHandler.OnWarning(new RelayException(RelayErrorCode.UnknownEvent), $"Ignored incoming unknown event of type {incomingEvent}");
                return;
            }

            DispatchMasterDisconnected(clientEvent as MasterDisconnected);
            DispatchClientMessage(clientEvent as MessageToClient);
        }
예제 #2
0
        private void DispatchEvent(RelayIncomingEvent incomingEvent)
        {
            if (incomingEvent is TransactionResult)
            {
                _transactionManager.HandleTransactionResult((TransactionResult)incomingEvent);
                return;
            }

            var masterEvent = incomingEvent as MasterIncomingEvent;

            if (masterEvent == null)
            {
                _eventHandler.OnWarning(new RelayException(RelayErrorCode.UnknownEvent), $"Ignored incoming unknown event of type {incomingEvent}");
                return;
            }

            DispatchClientDisconnected(masterEvent as ClientDisconnected);
            DispatchClientConnected(masterEvent as ClientJoined);
            DispatchClientMessage(masterEvent as N.Package.Relay.Events.Master.In.MessageFromClient);
        }