/// <summary>
    ///     Initialize events after initialize client
    /// </summary>
    /// <typeparam name="TAccount">Specified type of account</typeparam>
    /// <typeparam name="TSession">Specified type of session</typeparam>
    /// <param name="superNetCoreSocketClient">Instance of client</param>

    #region InitializeEvents

    private static void InitializeEvents <TAccount, TSession>(
        G9SuperNetCoreSocketClient <TAccount, TSession> superNetCoreSocketClient)
        where TAccount : AClientAccount <TSession>, new()
        where TSession : AClientSession, new()
    {
        // On connected
        superNetCoreSocketClient.OnConnected += account =>
                                                EventsQueue.Enqueue(() => AccessToG9Events4Unity.OnConnectedHandler?.Invoke(account));


        // On disconnect
        superNetCoreSocketClient.OnDisconnected += (account, reason) =>
                                                   EventsQueue.Enqueue(() => AccessToG9Events4Unity.OnDisconnectedHandler?.Invoke(account, reason));

        // On error
        superNetCoreSocketClient.OnError += (error, reason) =>
                                            EventsQueue.Enqueue(() => AccessToG9Events4Unity.OnErrorHandler?.Invoke(error, reason));

        // On reconnect
        superNetCoreSocketClient.OnReconnect +=
            (account, tryReconnectNumber) =>
            EventsQueue.Enqueue(
                () => AccessToG9Events4Unity.OnReconnectHandler?.Invoke(account, tryReconnectNumber));

        // On unhandled command
        superNetCoreSocketClient.OnUnhandledCommand +=
            (packet, account) =>
            EventsQueue.Enqueue(() => AccessToG9Events4Unity.OnUnhandledCommand?.Invoke(packet, account));

        // On unable to connect
        superNetCoreSocketClient.OnUnableToConnect +=
            () =>
            EventsQueue.Enqueue(() => AccessToG9Events4Unity.OnUnableToConnect?.Invoke());
    }
Exemple #2
0
 public void Ctor_WithNullName_ShouldThrow()
 {
     Assert.That(() =>
     {
         var eventsQueue = new EventsQueue(null);
     }, Throws.TypeOf <ArgumentNullException>());
 }
Exemple #3
0
        public void SetUp()
        {
            _eventsQueue = new EventsQueue(_eventsQueueName);
            var pipelineEvent = new PipelineEvent(new object());

            _queuedPipelineEvent = new QueuedPipelineEvent(() => Task.CompletedTask);
        }
Exemple #4
0
        /// <summary>
        ///     Handler send, receive and events in frame for client
        /// </summary>

        #region HandleSendReceiveAndEventsInFrame

        protected void HandleSendReceiveAndEventsInFrame()
        {
            while (ReceiveAction.Any())
            {
                ReceiveAction.Dequeue()(true);
            }

            while (EventsQueue.Any())
            {
                EventsQueue.Dequeue()();
            }
        }
        public void SetUp()
        {
            _appServiceProviderMock       = new Mock <IRootAppServiceProvider>(MockBehavior.Strict);
            _eventsContextMock            = new Mock <IEventsContext>(MockBehavior.Strict);
            _pipelineMock                 = new Mock <IPipeline>(MockBehavior.Strict);
            _eventsQueueNamesServiceMock  = new Mock <IEventsQueueNamesService>(MockBehavior.Strict);
            _eventsScopeMock              = new Mock <IEventsScope>(MockBehavior.Strict);
            _eventsScopeQueuesFeatureMock = new Mock <IEventsScopeQueuesFeature>(MockBehavior.Strict);

            _eventsQueue   = new EventsQueue(_queueName);
            _pipelineEvent = MakeNewPipelineEvent();

            _eventsQueuesService = new EventsQueuesService(_eventsContextMock.Object, _eventsQueueNamesServiceMock.Object);
        }
Exemple #6
0
        public void Ctor_ShouldSetName()
        {
            var eventsQueue = new EventsQueue(_eventsQueueName);

            Assert.That(eventsQueue, Has.Property(nameof(EventsQueue.Name)).EqualTo(_eventsQueueName));
        }