public virtual void AttachNetworkMessageProcessor(INetworkMessageProcessor messageProcessor)
        {
            if (_messageProcessors.Exists(p => p.GetType() == messageProcessor.GetType()))
            {
                throw new ArgumentException($"Cannot add multiple processors of the same type. Trying to attack {messageProcessor.GetType().Name} multiple times");
            }

            _messageProcessors.Add(messageProcessor);
        }
Beispiel #2
0
 public NetworkClient(string host, int port, INetworkMessageProcessor processor)
 {
     _host                  = host;
     _port                  = port;
     _tcpClient             = new TcpClient();
     _messageProcessor      = processor;
     _reconnectTimer        = new Timer(OnReconnect, null, Timeout.Infinite, Timeout.Infinite);
     _channel               = new NetworkChannel(_messageProcessor);
     _channel.OnDisconnect += OnDisconnect;
 }
Beispiel #3
0
 public override void AttachNetworkMessageProcessor(INetworkMessageProcessor messageProcessor)
 {
     base.AttachNetworkMessageProcessor(messageProcessor);
 }
Beispiel #4
0
 public DnsResolver(IUdpCommunicator communicator, INetworkMessageProcessor messageProcessor)
 {
     this.communicator     = communicator;
     this.messageProcessor = messageProcessor;
 }
Beispiel #5
0
 public NetworkChannel(INetworkMessageProcessor messageProcessor)
 {
     _messageProcessor = messageProcessor;
 }
 public NetworkListener(INetworkMessageProcessor messageProcessor, IChannelObserver channelObserver)
 {
     _messageProcessor = messageProcessor;
     _channelObserver = channelObserver;
 }
 public ProcessorHandler(INetworkMessageProcessor processor, Func <object, object[], object> handler)
 {
     this.processor = processor;
     this.handler   = handler;
 }