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; }
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); }
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); }