示例#1
0
        private Cluster(IEnumerable <object> contactPoints, Configuration configuration)
        {
            Configuration = configuration;
            _metadata     = new Metadata(configuration);
            var protocolVersion = _maxProtocolVersion;

            if (Configuration.ProtocolOptions.MaxProtocolVersionValue != null &&
                Configuration.ProtocolOptions.MaxProtocolVersionValue.Value.IsSupported(configuration))
            {
                protocolVersion = Configuration.ProtocolOptions.MaxProtocolVersionValue.Value;
            }

            _protocolEventDebouncer = new ProtocolEventDebouncer(
                configuration.TimerFactory,
                TimeSpan.FromMilliseconds(configuration.MetadataSyncOptions.RefreshSchemaDelayIncrement),
                TimeSpan.FromMilliseconds(configuration.MetadataSyncOptions.MaxTotalRefreshSchemaDelay));

            var parsedContactPoints = configuration.ContactPointParser.ParseContactPoints(contactPoints);

            _controlConnection = configuration.ControlConnectionFactory.Create(
                this,
                _protocolEventDebouncer,
                protocolVersion,
                Configuration,
                _metadata,
                parsedContactPoints);

            _metadata.ControlConnection = _controlConnection;
        }
示例#2
0
        private Cluster(IEnumerable <object> contactPoints, Configuration configuration)
        {
            Configuration = configuration;
            _metadata     = new Metadata(configuration);
            TaskHelper.WaitToComplete(AddHosts(contactPoints));
            var protocolVersion = _maxProtocolVersion;

            if (Configuration.ProtocolOptions.MaxProtocolVersionValue != null &&
                Configuration.ProtocolOptions.MaxProtocolVersionValue.Value.IsSupported())
            {
                protocolVersion = Configuration.ProtocolOptions.MaxProtocolVersionValue.Value;
            }
            _controlConnection          = configuration.ControlConnectionFactory.Create(protocolVersion, Configuration, _metadata);
            _metadata.ControlConnection = _controlConnection;
            _serializer     = _controlConnection.Serializer;
            _sessionFactory = configuration.SessionFactoryBuilder.BuildWithCluster(this);
        }
示例#3
0
        private Cluster(IEnumerable <object> contactPoints, Configuration configuration, IClusterLifecycleManager lifecycleManager)
        {
            Configuration = configuration;
            _metadata     = new Metadata(configuration);
            TaskHelper.WaitToComplete(AddHosts(contactPoints));
            var protocolVersion = _maxProtocolVersion;

            if (Configuration.ProtocolOptions.MaxProtocolVersionValue != null &&
                Configuration.ProtocolOptions.MaxProtocolVersionValue.Value.IsSupported())
            {
                protocolVersion = Configuration.ProtocolOptions.MaxProtocolVersionValue.Value;
            }

            _protocolEventDebouncer = new ProtocolEventDebouncer(
                configuration.TimerFactory,
                TimeSpan.FromMilliseconds(configuration.MetadataSyncOptions.RefreshSchemaDelayIncrement),
                TimeSpan.FromMilliseconds(configuration.MetadataSyncOptions.MaxTotalRefreshSchemaDelay));
            _controlConnection          = configuration.ControlConnectionFactory.Create(_protocolEventDebouncer, protocolVersion, Configuration, _metadata);
            _metadata.ControlConnection = _controlConnection;
            _serializer       = _controlConnection.Serializer;
            _sessionFactory   = configuration.SessionFactoryBuilder.BuildWithCluster(this);
            _lifecycleManager = lifecycleManager ?? new ClusterLifecycleManager(this);
        }
示例#4
0
 public override ControlResponse Execute(IControlConnection connection)
 {
     return(new StopResponse());
 }
示例#5
0
        public override ControlResponse Execute(IControlConnection connection)
        {
            var blockResponse = connection.SendGetBlockStateCommand(BlockID);

            return(blockResponse);
        }
示例#6
0
 public RequestQueue(IControlConnection connection)
 {
     _connection = connection;
 }
示例#7
0
 public abstract ControlResponse Execute(IControlConnection connection);
示例#8
0
 private QueueCollection()
 {
     _controlConnection = GetControlConnection();
     _items             = new ConcurrentDictionary <int, IRequestQueue>();
 }
示例#9
0
        public override ControlResponse Execute(IControlConnection connection)
        {
            var pointResponse = connection.SendSetPointStateCommand(PointID, State);

            return(pointResponse);
        }