Ejemplo n.º 1
0
 public AttributesAgentActor(
     Node node,
     IClusterApplication application,
     IOperationalOutboundStream outbound,
     IConfiguration configuration) : this(node, application, outbound, configuration, new NoOpConfirmationInterest(configuration))
 {
 }
Ejemplo n.º 2
0
 internal ConfirmingDistributor(IClusterApplication application, Node node, IOperationalOutboundStream outbound, IConfiguration configuration)
 {
     _application   = application;
     _node          = node;
     _outbound      = outbound;
     _logger        = configuration.Logger;
     _allOtherNodes = configuration.AllOtherNodes(node.Id);
     _confirmables  = new Confirmables(node, _allOtherNodes);
 }
Ejemplo n.º 3
0
    public static IAttributesAgent Instance(
        Stage stage,
        Node node,
        IClusterApplication application,
        IOperationalOutboundStream outbound,
        IConfiguration configuration)
    {
        var attributesAgent = stage.ActorFor <IAttributesAgent>(
            () => new AttributesAgentActor(node, application, outbound, configuration), "attributes-agent");

        return(attributesAgent);
    }
Ejemplo n.º 4
0
    public static ILocalLiveNode Instance(
        Stage stage,
        Node node,
        IClusterSnapshot snapshot,
        IRegistry registry,
        IOperationalOutboundStream outbound,
        IConfiguration configuration)
    {
        var localLiveNode = stage.ActorFor <ILocalLiveNode>(
            () => new LocalLiveNodeActor(node, snapshot, registry, outbound, configuration), "local-live-node");

        return(localLiveNode);
    }
Ejemplo n.º 5
0
        public static ILocalLiveNode Instance(
            Stage stage,
            Node node,
            IClusterSnapshot snapshot,
            IRegistry registry,
            IOperationalOutboundStream outbound,
            IConfiguration configuration)
        {
            var definition = Definition.Has <LocalLiveNodeActor>(
                Definition.Parameters(node, snapshot, registry, outbound, configuration), "local-live-node");

            var localLiveNode = stage.ActorFor <ILocalLiveNode>(definition);

            return(localLiveNode);
        }
 public static IAttributesAgent Instance(
     Stage stage,
     Node node,
     IClusterApplication application,
     IOperationalOutboundStream outbound,
     IConfiguration configuration)
 {
     var definition =
             Definition.Has<AttributesAgentActor>(
         Definition.Parameters(node, application, outbound, configuration),
     "attributes-agent");
     
     var attributesAgent = stage.ActorFor<IAttributesAgent>(definition);
     
     return attributesAgent;
 }
    public LocalLiveNodeActor(
        Node node,
        IClusterSnapshot snapshot,
        IRegistry registry,
        IOperationalOutboundStream outbound,
        IConfiguration configuration)
    {
        _node              = node;
        _snapshot          = snapshot;
        _registry          = registry;
        _outbound          = outbound;
        _configuration     = configuration;
        _nodeSynchronizers = new List <INodeSynchronizer>();
        _checkHealth       = new CheckHealth(_node.Id);
        _cancellable       = ScheduleHealthCheck();

        StartNode();
    }
Ejemplo n.º 8
0
        public AttributesAgentActor(
            Node node,
            IClusterApplication application,
            IOperationalOutboundStream outbound,
            IConfiguration configuration,
            IConfirmationInterest confirmationInterest)
        {
            _node                  = node;
            _configuration         = configuration;
            _confirmationInterest  = confirmationInterest;
            _client                = AttributesClient.With(SelfAs <IAttributesAgent>());
            _confirmingDistributor = new ConfirmingDistributor(application, node, outbound, configuration);
            _repository            = new AttributeSetRepository();
            _remoteRequestHandler  = new RemoteAttributeRequestHandler(_confirmingDistributor, configuration, _repository);

            application.InformAttributesClient(_client);

            Stage.Scheduler.Schedule(SelfAs <IScheduled <object> >(), null, TimeSpan.FromMilliseconds(1000L),
                                     TimeSpan.FromMilliseconds(Properties.Instance.ClusterAttributesRedistributionInterval()));
        }
        public void Open(Stage stage, Wire.Node.Node node, IInboundStreamInterest interest, IConfiguration configuration)
        {
            _operationalInboundStream =
                InboundStreamFactory.Instance(
                    stage,
                    interest,
                    node.OperationalAddress.Port,
                    AddressType.Op,
                    OpName,
                    Properties.Instance.OperationalBufferSize(),
                    Properties.Instance.OperationalInboundProbeInterval());

            _operationalOutboundStream =
                OperationalOutboundStreamFactory.Instance(
                    stage,
                    node,
                    new ManagedOutboundSocketChannelProvider(node, AddressType.Op, configuration),
                    new ByteBufferPool(
                        Properties.Instance.OperationalOutgoingPooledBuffers(),
                        Properties.Instance.OperationalBufferSize()));

            _applicationInboundStream =
                InboundStreamFactory.Instance(
                    stage,
                    interest,
                    node.ApplicationAddress.Port,
                    AddressType.App,
                    AppName,
                    Properties.Instance.ApplicationBufferSize(),
                    Properties.Instance.ApplicationInboundProbeInterval());

            _applicationOutboundStream =
                ApplicationOutboundStreamFactory.Instance(
                    stage,
                    new ManagedOutboundSocketChannelProvider(node, AddressType.App, configuration),
                    new ByteBufferPool(
                        Properties.Instance.ApplicationOutgoingPooledBuffers(),
                        Properties.Instance.ApplicationBufferSize()));
        }