Ejemplo n.º 1
0
 public IEnumerator <KeyValuePair <string, object> > GetEnumerator(object value)
 {
     if (value is IDictionary <TKey, TValue> dictionary)
     {
         return(YieldEnumerator(dictionary));
     }
     return(EmptyDictionary.GetEnumerator());
 }
Ejemplo n.º 2
0
        private static async Task <int> InsertValues(ICloudTable table, string partition, int x = 20, int y = 100)
        {
            foreach (var i in Enumerable.Range(1, x))
            {
                var operation = table.PrepareBatchOperation();

                foreach (var j in Enumerable.Range(1, y))
                {
                    operation.Insert(partition, i + ":" + j, EmptyDictionary.Get <string, object>());
                }

                await operation.ExecuteAsync();
            }

            return(x * y);
        }
Ejemplo n.º 3
0
        public virtual async Task <IReadOnlyDictionary <Sha1, IChasmBlob> > ReadObjectBatchAsync(IEnumerable <Sha1> objectIds, ChasmRequestContext requestContext = default, CancellationToken cancellationToken = default)
        {
            if (objectIds == null)
            {
                return(EmptyDictionary.Empty <Sha1, IChasmBlob>());
            }

            requestContext = ChasmRequestContext.Ensure(requestContext);

            // Enumerate
            var dict = new Dictionary <Sha1, Task <IChasmBlob> >(Sha1Comparer.Default);

            foreach (Sha1 objectId in objectIds)
            {
                dict[objectId] = ReadObjectAsync(objectId, requestContext, cancellationToken);
            }

            // Await
            await Task.WhenAll(dict.Values)
            .ConfigureAwait(false);

            // Return
            var dict2 = new Dictionary <Sha1, IChasmBlob>(Sha1Comparer.Default);

            foreach (KeyValuePair <Sha1, Task <IChasmBlob> > task in dict)
            {
                if (task.Value == null || task.Value.Result == null)
                {
                    continue;
                }

                dict2[task.Key] = task.Value.Result;
            }

            return(dict2);
        }
Ejemplo n.º 4
0
 public static EmptyDictionary<TKey, TValue> Dictionary<TKey, TValue>() => EmptyDictionary<TKey, TValue>.Singleton();
Ejemplo n.º 5
0
        public static void InsertOrReplace(this IBatchOperation batchOperation, string partitionKey)
        {
            Require.NotNull(batchOperation, "batchOperation");

            batchOperation.InsertOrReplace(partitionKey, EmptyDictionary.Get <string, object>());
        }
Ejemplo n.º 6
0
        public static void Replace(this IBatchOperation batchOperation, string partitionKey, string rowKey, string etag)
        {
            Require.NotNull(batchOperation, "batchOperation");

            batchOperation.Replace(partitionKey, rowKey, etag, EmptyDictionary.Get <string, object>());
        }