Esempio n. 1
0
        public MessageRouterFactory(IRouteManagerFactory routeManagerFactory,
                                    IEndPointManager endPointManager,
                                    ILogicalEndPoint logicalEndPoint,
                                    ILoggerFactory loggerFactory = null)
        {
            if (routeManagerFactory == null)
            {
                throw new ArgumentNullException(nameof(routeManagerFactory));
            }

            if (endPointManager == null)
            {
                throw new ArgumentNullException(nameof(endPointManager));
            }

            if (logicalEndPoint == null)
            {
                throw new ArgumentNullException(nameof(logicalEndPoint));
            }

            _routeManagerFactory = routeManagerFactory;
            _endPointManager     = endPointManager;
            _logicalEndPoint     = logicalEndPoint;
            _loggerFactory       = loggerFactory;
        }
Esempio n. 2
0
        public MessageRouter(ISerializedMessageHandler serializedMessageHandler,
                             ILogicalEndPoint logicalEndPoint,
                             IRouteManager routeManager,
                             ILogger <MessageRouter> logger = null)
        {
            if (serializedMessageHandler == null)
            {
                throw new ArgumentNullException(nameof(serializedMessageHandler));
            }

            if (logicalEndPoint == null)
            {
                throw new ArgumentNullException(nameof(logicalEndPoint));
            }

            if (routeManager == null)
            {
                throw new ArgumentNullException(nameof(routeManager));
            }

            _serializedMessageHandler = serializedMessageHandler;
            _logicalEndPoint          = logicalEndPoint;
            _routeManager             = routeManager;
            _logger = logger;

            _receiveProcess = new AsyncProcess(ReceiveProcedure, start: true);
            _disposeHelper  = new AsyncDisposeHelper(DisposeInternalAsync, AsyncDisposeHelperOptions.Synchronize);
        }
Esempio n. 3
0
        private IMessageRouter CreateMessageRouterInternal(ILogicalEndPoint endPoint, ISerializedMessageHandler serializedMessageHandler)
        {
            var logger     = _loggerFactory?.CreateLogger <MessageRouter>();
            var routeStore = _routeManagerFactory.CreateRouteManager();

            Assert(routeStore != null);

            return(new MessageRouter(serializedMessageHandler, endPoint, routeStore, logger));
        }
        public LogicalEndPointSkeleton(IEndPointManager endPointManager, EndPointAddress endPoint)
        {
            if (endPointManager == null)
            {
                throw new ArgumentNullException(nameof(endPointManager));
            }

            if (endPoint == default)
            {
                throw new ArgumentDefaultException(nameof(endPoint));
            }

            _endPointManager = endPointManager;

            _logicalEndPoint = _endPointManager.CreateLogicalEndPoint(endPoint);
        }