internal ClusterSnapshotInitializer(string nodeNameText, Properties properties, ILogger logger) { _localNodeId = Id.Of(properties.NodeId(nodeNameText)); _configuration = new ClusterConfiguration(logger); _localNode = _configuration.NodeMatching(_localNodeId); _communicationsHub = new NetworkCommunicationsHub(); _registry = new LocalRegistry(_localNode, _configuration, logger); }
public ClusterSnapshotActor(ClusterSnapshotInitializer initializer, IClusterApplication clusterApplication) { _broadcaster = new ClusterApplicationBroadcaster(Logger); _communicationsHub = initializer.CommunicationsHub; _communicationsHub.Open(Stage, initializer.LocalNode, SelfAs <IInboundStreamInterest>(), initializer.Configuration); _localNode = initializer.LocalNode; _clusterApplication = clusterApplication; _broadcaster.RegisterClusterApplication(clusterApplication); _clusterApplication.Start(); initializer.Registry.RegisterRegistryInterest(SelfAs <IRegistryInterest>()); _attributesAgent = AttributesAgentFactory.Instance(Stage, _localNode, _broadcaster, _communicationsHub.OperationalOutboundStream, initializer.Configuration); _localLiveNode = LocalLiveNodeFactory.Instance(Stage, _localNode, SelfAs <IClusterSnapshot>(), initializer.Registry, _communicationsHub.OperationalOutboundStream, initializer.Configuration); _localLiveNode.RegisterNodeSynchronizer(_attributesAgent); _communicationsHub.Start(); }