示例#1
0
        public RemoteRunningModuleManager(IMessageDispatcher messageDispatcher)
        {
            if (messageDispatcher == null)
            {
                throw new ArgumentNullException(nameof(messageDispatcher));
            }

            _messageDispatcher    = messageDispatcher;
            _initializationHelper = new AsyncInitializationHelper(InitiallyLoadModules);
        }
示例#2
0
        public CommitDispatcher(IStreamPersistence persistence,
                                IMessageDispatcher eventDispatcher,
                                IProjectionEngine projectionEngine,
                                IServiceProvider serviceProvider,
                                IOptions <DomainStorageOptions> optionsAccessor,
                                ILogger <CommitDispatcher> logger = null)
        {
            if (persistence == null)
            {
                throw new ArgumentNullException(nameof(persistence));
            }

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

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

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

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

            _persistence      = persistence;
            _eventDispatcher  = eventDispatcher;
            _projectionEngine = projectionEngine;
            _serviceProvider  = serviceProvider;
            _logger           = logger;
            _options          = optionsAccessor.Value ?? new DomainStorageOptions();

            _initializationHelper = new AsyncInitializationHelper(InitializeInternalAsync);
        }
示例#3
0
        public ModuleInstallationManager(IMetadataReader metadataReader,
                                         IModuleInstaller moduleInstaller,
                                         IModuleSupervisorFactory moduleSupervisorFactory,
                                         IServiceProvider serviceProvider,
                                         IOptions <ModuleManagementOptions> optionsAccessor)
        {
            if (metadataReader == null)
            {
                throw new ArgumentNullException(nameof(metadataReader));
            }

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

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

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

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

            _metadataReader          = metadataReader;
            _moduleInstaller         = moduleInstaller;
            _moduleSupervisorFactory = moduleSupervisorFactory;
            _serviceProvider         = serviceProvider;
            var options = optionsAccessor.Value ?? new ModuleManagementOptions();

            _installationDirectory = new DirectoryInfo(options.ModuleInstallationDirectory);
            _initializationHelper  = new AsyncInitializationHelper(InitializeInternalAsync);
        }
示例#4
0
        public DebugPort(IServiceProvider serviceProvider,
                         IAddressConversion <IPEndPoint> addressConversion,
                         IOptions <ModularityOptions> optionsAccessor,
                         IRemoteMessageDispatcher messageDispatcher,
                         ILoggerFactory loggerFactory = null)
        {
            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

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

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

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

            var options = optionsAccessor.Value ?? new ModularityOptions();

            _serviceProvider   = serviceProvider;
            _messageDispatcher = messageDispatcher;
            _loggerFactory     = loggerFactory;
            _logger            = _loggerFactory?.CreateLogger <DebugPort>();

            var endPoint = addressConversion.Parse(options.DebugConnection);

            _tcpHost              = new TcpListener(endPoint);
            _connectionProcess    = new AsyncProcess(ConnectProcedure);
            _initializationHelper = new AsyncInitializationHelper <IPEndPoint>(InitializeInternalAsync);
            _disposeHelper        = new AsyncDisposeHelper(DisposeInternalAsync);
        }