Esempio n. 1
0
        /// <summary>
        /// Receive messages from a channel subscription
        /// </summary>
        /// <param name="subscription"></param>
        /// <returns></returns>
        protected MessageRouterBuilder FromSubscription(
            ChannelSubscription subscription
            )
        {
            if (subscriptions.Contains(subscription))
            {
                throw new InvalidOperationException(
                          "You cannot handle a subscription twice"
                          );
            }

            subscriptions.Add(subscription);

            var messageRouter = new MessageRouter();

            StartCoroutine(
                RegisterSubscriptionHandlerAfterDelay(
                    subscription,
                    messageRouter
                    )
                );

            return(new MessageRouterBuilder(messageRouter));
        }
Esempio n. 2
0
        public MessageRouterBuilder(MessageRouter router)
        {
            this.router = router;

            ElseLogWarning();
        }