Пример #1
0
 private Increment(string key, ulong initial, ulong delta, uint expiration, IVBucket vBucket, ITypeTranscoder transcoder, uint opaque, uint timeout)
     : base(key, initial, vBucket, transcoder, opaque, timeout)
 {
     _delta      = delta;
     _initial    = initial;
     _expiration = expiration;
 }
        /// <summary>
        /// Gets the <see cref="Server"/> or node that a key has been mapped to.
        /// </summary>
        /// <param name="key">The key to get or set.</param>
        /// <param name="revision">The rev # of the cluster map.</param>
        /// <param name="vBucket">The VBucket the key belongs to.</param>
        /// <returns>The <see cref="IServer"/> that the key is mapped to.</returns>
        public IServer GetServer(string key, uint revision, out IVBucket vBucket)
        {
            var keyMapper = ConfigInfo.GetKeyMapper();

            vBucket = (IVBucket)keyMapper.MapKey(key, revision);
            return(vBucket.LocatePrimary());
        }
Пример #3
0
 private Increment(string key, ulong initial, ulong delta, uint expiration, IVBucket vBucket, IByteConverter converter, ITypeTranscoder transcoder, uint opaque)
     : base(key, initial, transcoder, vBucket, converter, opaque)
 {
     _delta      = delta;
     _initial    = initial;
     _expiration = expiration;
 }
Пример #4
0
 public Increment(string key, ulong initial, ulong delta, uint expiration, IVBucket vBucket, IByteConverter converter, ITypeTranscoder transcoder)
     : base(key, vBucket, converter, transcoder)
 {
     _delta      = delta;
     _initial    = initial;
     _expiration = expiration;
 }
Пример #5
0
 public SubDocDelete(MutateInBuilder <T> builder, string key, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout)
     : base(builder, key, vBucket, transcoder, SequenceGenerator.GetNext(), timeout)
 {
     CurrentSpec = builder.FirstSpec();
     Path        = CurrentSpec.Path;
     Cas         = builder.Cas;
 }
Пример #6
0
        protected SubDocSingularBase(ISubDocBuilder <T> builder, string key, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout)
            : base(key, vBucket, transcoder, timeout)
        {
            Builder = builder;

            //override the default timeout if provided by the builder
            SetTimeoutIfNotDefault(builder);
        }
 public void TestSend()
 {
     _vBucket = _state.GetVBucket(Key);
     var operation = new GetOperation<string>(Key, _vBucket);
     var result = _ioStrategy.Execute(operation);
   
     Console.WriteLine(result.Value);
 }
Пример #8
0
 public void SetUp()
 {
     var cluster = new List<INode>
     {
         new Node("192.168.56.102:11210"),
         new Node("192.168.56.101:11210")
     };
     _vBucket = new VBucket(cluster, 100, 0, 1);
 }
 public async void TestSendAsync()
 {
     Console.WriteLine("Start thread: {0}", Thread.CurrentThread.ManagedThreadId);
     _vBucket = _state.GetVBucket(Key);
     var operation = new GetOperation<string>(Key, _vBucket);
     var result = await _ioStrategy.ExecuteAsync(operation);
     Assert.IsNotNullOrEmpty(result.Value);
     Console.WriteLine("Result for key '{0}' is '{1}'", operation.Key, result.Value);
 }
Пример #10
0
        /// <summary>
        /// Gets a list of replica indexes that is the larger of either the <see cref="PersistTo"/> or the <see cref="ReplicateTo"/> value.
        /// </summary>
        /// <param name="vBucket">The <see cref="VBucket"/> containing the replica indexes.</param>
        /// <param name="replicateTo">The <see cref="ReplicateTo"/> value.</param>
        /// <param name="persistTo">The <see cref="PersistTo"/> value.</param>
        /// <returns>A list of replica indexes which is the larger of either the <see cref="PersistTo"/> or the <see cref="ReplicateTo"/> value</returns>
        internal List <int> GetReplicas(IVBucket vBucket, ReplicateTo replicateTo, PersistTo persistTo)
        {
            var maxReplicas = (int)replicateTo > (int)persistTo ?
                              (int)replicateTo :
                              (int)persistTo;

            return(maxReplicas > vBucket.Replicas.Length ?
                   vBucket.Replicas.Where(x => x > -1).ToList() :
                   vBucket.Replicas.Where(x => x > -1).Take(maxReplicas).ToList());
        }
        public virtual void SetUp()
        {
            var factory = ConnectionFactory.GetDefault();
            _connectionPool = new DefaultConnectionPool(_defaultClientConfig.ConnectionPoolConfiguration, Node.GetEndPoint(Server), factory);
            _connectionPool.Initialize();

            _provider = new FileSystemConfigProvider(_defaultClientConfig, ConnectionFactory.GetDefault());
            _configInfo = _provider.GetCached();
            _vBucket = _configInfo.HashToVBucket(Key);
        }
 protected OperationBase(string key, T value, ITypeSerializer serializer, IVBucket vBucket,
                         IByteConverter converter)
 {
     Key         = key;
     _value      = value;
     _serializer = serializer;
     _opaque     = Interlocked.Increment(ref _sequenceId);
     _vBucket    = vBucket;
     Converter   = converter;
 }
Пример #13
0
 protected OperationBase(string key, T value, ITypeTranscoder transcoder, IVBucket vBucket,
                         IByteConverter converter)
 {
     Key         = key;
     _value      = value;
     _transcoder = transcoder;
     _opaque     = Interlocked.Increment(ref _sequenceId);
     VBucket     = vBucket;
     Converter   = converter;
     MaxRetries  = DefaultRetries;
 }
Пример #14
0
 protected OperationBase(string key, IVBucket vBucket, ITypeTranscoder transcoder, uint opaque, uint timeout)
 {
     Key          = key;
     Transcoder   = transcoder;
     Opaque       = opaque;
     CreationTime = DateTime.UtcNow;
     Timeout      = timeout;
     VBucket      = vBucket;
     Converter    = transcoder.Converter;
     MaxRetries   = DefaultRetries;
     Data         = new MemoryStream();
 }
Пример #15
0
 protected OperationBase(string key, IVBucket vBucket, ITypeTranscoder transcoder, uint opaque, uint timeout)
 {
     Key = key;
     Transcoder = transcoder;
     Opaque = opaque;
     CreationTime = DateTime.UtcNow;
     Timeout = timeout;
     VBucket = vBucket;
     Converter = transcoder.Converter;
     MaxRetries = DefaultRetries;
     Data = new MemoryStream();
     Header = new OperationHeader {Status = ResponseStatus.None};
 }
Пример #16
0
 public Decrement(string key,
                  ulong initial,
                  ulong delta,
                  uint expiration,
                  IVBucket vBucket,
                  ITypeTranscoder transcoder,
                  uint timeout)
     : base(key, initial, vBucket, transcoder, SequenceGenerator.GetNext(), timeout)
 {
     _delta      = delta;
     _initial    = initial;
     _expiration = expiration;
 }
Пример #17
0
 public Decrement(string key,
                  ulong initial,
                  ulong delta,
                  uint expiration,
                  IVBucket vBucket,
                  IByteConverter converter,
                  ITypeSerializer serializer)
     : base(key, initial, serializer, vBucket, converter)
 {
     _delta      = delta;
     _initial    = initial;
     _expiration = expiration;
 }
Пример #18
0
 public Decrement(string key,
                  ulong initial,
                  ulong delta,
                  uint expiration,
                  IVBucket vBucket,
                  IByteConverter converter,
                  ITypeTranscoder transcoder)
     : base(key, initial, transcoder, vBucket, converter, SequenceGenerator.GetNext(), DefaultTimeout)
 {
     _delta      = delta;
     _initial    = initial;
     _expiration = expiration;
 }
        public void SetUp()
        {
            var bucket = ConfigUtil.ServerConfig.Buckets.First();
            var vBucketServerMap = bucket.VBucketServerMap;

            _servers = vBucketServerMap.
                ServerList.
                Select(server => new Server(ObjectFactory.CreateIOStrategy(server), new Node(), new ClientConfiguration())).
                Cast<IServer>().
                ToList();

            var vBucketMap = vBucketServerMap.VBucketMap.First();
            var primary = vBucketMap[0];
            var replicas = new int[]{vBucketMap[1]};
            _vBucket = new VBucket(_servers, 0, primary, replicas);
        }
Пример #20
0
        public void SetUp()
        {
            var bucket           = ConfigUtil.ServerConfig.Buckets.First();
            var vBucketServerMap = bucket.VBucketServerMap;

            _servers = vBucketServerMap.
                       ServerList.
                       Select(server => new Server(ObjectFactory.CreateIOStrategy(server), new Node(), new ClientConfiguration())).
                       Cast <IServer>().
                       ToList();

            var vBucketMap = vBucketServerMap.VBucketMap.First();
            var primary    = vBucketMap[0];
            var replicas   = new int[] { vBucketMap[1] };

            _vBucket = new VBucket(_servers, 0, primary, replicas);
        }
        protected OperationBase(string key, IVBucket vBucket, ITypeTranscoder transcoder, uint opaque, uint timeout)
        {
            if (RequiresKey && string.IsNullOrWhiteSpace(key))
            {
                throw new MissingKeyException();
            }

            Key = key;
            Transcoder = transcoder;
            Opaque = opaque;
            CreationTime = DateTime.UtcNow;
            Timeout = timeout;
            VBucket = vBucket;
            Converter = transcoder.Converter;
            MaxRetries = DefaultRetries;
            Data = new MemoryStream();
            Header = new OperationHeader {Status = ResponseStatus.None};
        }
Пример #22
0
        public VBucketTests()
        {
            var serverConfigJson = ResourceHelper.ReadResource("bootstrap-config.json");
            var bucketConfig     = JsonConvert.DeserializeObject <BucketConfig>(serverConfigJson);

            _vBucketServerMap = bucketConfig.VBucketServerMap;

            _servers = new List <IPEndPoint>();
            foreach (var node in bucketConfig.GetNodes())
            {
                _servers.Add(node.GetIpEndPoint(false));
            }

            var vBucketMap = _vBucketServerMap.VBucketMap.First();
            var primary    = vBucketMap[0];
            var replicas   = new [] { vBucketMap[1] };

            _vBucket = new VBucket(_servers, 0, primary, replicas, bucketConfig.Rev, _vBucketServerMap, "default");
        }
Пример #23
0
        protected OperationBase(string key, IVBucket vBucket, ITypeTranscoder transcoder, uint opaque, uint timeout)
        {
            if (RequiresKey && string.IsNullOrWhiteSpace(key))
            {
                throw new MissingKeyException();
            }

            Key          = key;
            Transcoder   = transcoder;
            Opaque       = opaque;
            CreationTime = DateTime.UtcNow;
            Timeout      = timeout;
            VBucket      = vBucket;
            Converter    = transcoder.Converter;
            MaxRetries   = DefaultRetries;
            Data         = MemoryStreamFactory.GetMemoryStream();
            Header       = new OperationHeader {
                Status = ResponseStatus.None
            };
        }
        public void SetUp()
        {
            var bucketConfig = ConfigUtil.ServerConfig.Buckets.First(x=>x.Name=="default");
            _vBucketServerMap = bucketConfig.VBucketServerMap;

            _servers = new Dictionary<IPAddress, IServer>();
            foreach (var node in bucketConfig.GetNodes())
            {
                _servers.Add(node.GetIPAddress(),
                    new Server(new FakeIOStrategy(node.GetIPEndPoint(), new FakeConnectionPool(), false),
                        node,
                        new ClientConfiguration(), bucketConfig,
                        new FakeTranscoder()));
            }

            var vBucketMap = _vBucketServerMap.VBucketMap.First();
            var primary = vBucketMap[0];
            var replicas = new int[]{vBucketMap[1]};
            _vBucket = new VBucket(_servers, 0, primary, replicas, bucketConfig.Rev, _vBucketServerMap);
        }
Пример #25
0
        public VBucketTests()
        {
            var serverConfigJson = ResourceHelper.ReadResource("bootstrap-config.json");
            var bucketConfig     = JsonConvert.DeserializeObject <BucketConfig>(serverConfigJson);

            var(vBucketServerMap, _) = GetServerMapAndIpEndPoints(bucketConfig.VBucketServerMap);
            _vBucketServerMap        = vBucketServerMap;

            _servers = new List <IPEndPoint>();
            foreach (var node in bucketConfig.GetNodes())
            {
                _servers.Add(new IPEndPoint(IPAddress.Parse(node.Hostname), node.KeyValue));
            }

            var vBucketMap = _vBucketServerMap.VBucketMap.First();
            var primary    = vBucketMap[0];
            var replicas   = new [] { vBucketMap[1] };

            _vBucket = new VBucket(_servers, 0, primary, replicas, bucketConfig.Rev, _vBucketServerMap, "default",
                                   new Mock <ILogger <VBucket> >().Object);
        }
Пример #26
0
        public void SetUp()
        {
            var bucketConfig = ConfigUtil.ServerConfig.Buckets.First(x => x.Name == "default");

            _vBucketServerMap = bucketConfig.VBucketServerMap;

            _servers = new Dictionary <IPAddress, IServer>();
            foreach (var node in bucketConfig.GetNodes())
            {
                _servers.Add(node.GetIPAddress(),
                             new Server(new FakeIOService(node.GetIPEndPoint(), new FakeConnectionPool(), false),
                                        node,
                                        new ClientConfiguration(), bucketConfig,
                                        new FakeTranscoder()));
            }

            var vBucketMap = _vBucketServerMap.VBucketMap.First();
            var primary    = vBucketMap[0];
            var replicas   = new int[] { vBucketMap[1] };

            _vBucket = new VBucket(_servers, 0, primary, replicas, bucketConfig.Rev, _vBucketServerMap);
        }
Пример #27
0
        public VBucketTests()
        {
            var bucketConfig = ResourceHelper.ReadResource("bootstrap-config.json",
                                                           InternalSerializationContext.Default.BucketConfig);

            var vBucketServerMap = GetServerMap(bucketConfig.VBucketServerMap);

            _vBucketServerMap = vBucketServerMap;

            _servers = new List <HostEndpointWithPort>();
            foreach (var node in bucketConfig.GetNodes())
            {
                _servers.Add(new HostEndpointWithPort(node.Hostname, node.KeyValue));
            }

            var vBucketMap = _vBucketServerMap.VBucketMap.First();
            var primary    = vBucketMap[0];
            var replicas   = new [] { vBucketMap[1] };

            _vBucket = new VBucket(_servers, 0, primary, replicas, bucketConfig.Rev, _vBucketServerMap, "default",
                                   new Mock <ILogger <VBucket> >().Object);
        }
 public async void TestSendAsync_100_PartDuex()
 {
     Console.WriteLine("Start thread: {0}", Thread.CurrentThread.ManagedThreadId);
     for (var i = 0; i < 100; i++)
     {
         await Task.Factory.StartNew(async () =>
         {
             Console.WriteLine("task thread: {0}", Thread.CurrentThread.ManagedThreadId);
             _vBucket = _state.GetVBucket(Key);
             var operation = new GetOperation<string>(Key, _vBucket);
             var result = await _ioStrategy.ExecuteAsync(operation);
             Assert.IsNotNullOrEmpty(result.Value);
             Console.WriteLine("Result for key '{0}' is '{1}'", operation.Key, result.Value);
         });
     }
 }
Пример #29
0
 public SlowSet(string key, T value, ITypeTranscoder transcoder, IVBucket vBucket, IByteConverter converter)
     : base(key, value, transcoder, vBucket, converter, SequenceGenerator.GetNext(), DefaultTimeout)
 {
 }
Пример #30
0
 public SlowSet(string key, T value, IVBucket vBucket, IByteConverter converter)
     : base(key, value, vBucket, converter)
 {
 }
Пример #31
0
 private Replace(string key, T value, IVBucket vBucket, ITypeTranscoder transcoder, uint opaque, uint timeout)
     : base(key, value, vBucket, transcoder, opaque, timeout)
 {
 }
Пример #32
0
 public Config(string key, BucketConfig value, ITypeTranscoder transcoder, IVBucket vBucket, uint opaque, uint timeout, IPEndPoint endpoint)
     : base(key, value, vBucket, transcoder, opaque, timeout)
 {
     _endpoint = endpoint;
 }
Пример #33
0
 protected SubDocSingularMutationBase(ISubDocBuilder <T> builder, string key, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout)
     : base(builder, key, vBucket, transcoder, timeout)
 {
 }
Пример #34
0
 public SaslStep(string key, string value, ITypeTranscoder transcoder, IVBucket vBucket, uint opaque, uint timeout)
     : base(key, value, vBucket, transcoder, opaque, timeout)
 {
 }
Пример #35
0
        /// <summary>
        /// Gets a list of replica indexes that is the larger of either the <see cref="PersistTo"/> or the <see cref="ReplicateTo"/> value.
        /// </summary>
        /// <param name="vBucket">The <see cref="VBucket"/> containing the replica indexes.</param>
        /// <param name="replicateTo">The <see cref="ReplicateTo"/> value.</param>
        /// <param name="persistTo">The <see cref="PersistTo"/> value.</param>
        /// <returns>A list of replica indexes which is the larger of either the <see cref="PersistTo"/> or the <see cref="ReplicateTo"/> value</returns>
        internal List<int> GetReplicas(IVBucket vBucket, ReplicateTo replicateTo, PersistTo persistTo)
        {
            var maxReplicas = (int) replicateTo > (int) persistTo ?
                (int) replicateTo :
                (int)persistTo;

            return maxReplicas > vBucket.Replicas.Length ?
                vBucket.Replicas.Where(x => x > -1).ToList() :
                vBucket.Replicas.Where(x => x > -1).Take(maxReplicas).ToList();
        }
Пример #36
0
 public Noop(string key, ITypeTranscoder transcoder, IVBucket vBucket, uint opaque, uint timeout)
     : base(key, vBucket, transcoder, opaque, timeout)
 {
 }
Пример #37
0
 protected OperationBase(string key, IVBucket vBucket, IByteConverter converter)
     : this(key, default(T), new DefaultTranscoder(converter), vBucket, converter)
 {
 }
Пример #38
0
 protected OperationBase(string key, IVBucket vBucket, IByteConverter converter, ITypeTranscoder transcoder)
     : this(key, default(T), transcoder, vBucket, converter)
 {
 }
Пример #39
0
 protected OperationBase(string key, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout)
     : this(key, vBucket, transcoder, SequenceGenerator.GetNext(), timeout)
 {
 }
Пример #40
0
 public MultiMutation(string key, MutateInBuilder <T> mutateInBuilder, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout)
     : base(key, vBucket, transcoder, timeout)
 {
     _builder = mutateInBuilder;
     Cas      = _builder.Cas;
 }
 public FakeOperationWithRequiredKey(string key, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout)
     : base(key, vBucket, transcoder, timeout)
 {
 }
Пример #42
0
 public Config(string key, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout, IPEndPoint endpoint)
     : base(key, vBucket, transcoder, timeout)
 {
     _endpoint = endpoint;
 }
Пример #43
0
 public Unlock(string key, ITypeTranscoder transcoder, IVBucket vBucket, uint timeout)
     : base(key, vBucket, transcoder, timeout)
 {
 }
Пример #44
0
 protected OperationBase(string key, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout)
     : this(key, vBucket, transcoder, SequenceGenerator.GetNext(), timeout)
 {
 }
 protected MutationOperationBase(string key, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout)
     : base(key, vBucket, transcoder, timeout)
 {
 }
Пример #46
0
 public Replace(string key, T value, ulong cas, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout)
     : base(key, value, vBucket, transcoder, SequenceGenerator.GetNext(), timeout)
 {
     Cas = cas;
 }
Пример #47
0
 public Delete(string key, IVBucket vBucket, ITypeTranscoder transcoder, uint timeout)
     : base(key, vBucket, transcoder, timeout)
 {
 }