public EstablishConnectionToUiService(ITcpRequestHandler requestHandler, IEventBus eventBus)
 {
     _requestHandler = requestHandler;
     _eventBus       = eventBus;
     _establishConnectionTimer.Enabled  = false;
     _establishConnectionTimer.Elapsed += SendRequest;
 }
Exemple #2
0
        /// <summary>
        /// Registers a handler for a given packet type.
        /// </summary>
        /// <param name="packetType">The type of packet to register for.</param>
        /// <param name="handler">The handler to register.</param>
        public void RegisterForPacketType(Type packetType, ITcpRequestHandler handler)
        {
            packetType.ThrowIfNull(nameof(packetType));
            handler.ThrowIfNull(nameof(handler));

            if (this.handlersMap.ContainsKey(packetType))
            {
                throw new InvalidOperationException($"There is already a handler registered for type: {packetType}.");
            }

            this.logger.LogTrace($"Registered packet writer for type {packetType}.");

            this.handlersMap[packetType] = handler;
        }