Ejemplo n.º 1
0
        public Task <SortedDictionary <int, ShardWriteOperation> > GetAllObjectShardWriteOperationAsync(Guid shardId, Guid objectId)
        {
            var result = new SortedDictionary <int, ShardWriteOperation>();

            foreach (var operation in ShardWriteOperations.Where(so => so.Value.Data.Id == objectId && so.Value.Data.ShardId == shardId))
            {
                result.Add(operation.Value.Pos, operation.Value);
            }
            return(Task.FromResult(result));
        }
Ejemplo n.º 2
0
        public Task <SortedDictionary <int, ShardWriteOperation> > GetShardWriteOperationsAsync(Guid shardId, int from, int to)
        {
            var writes = ShardWriteOperations.Where(swo => swo.Value.Data.ShardId == shardId && swo.Value.Pos >= from && swo.Value.Pos <= to);
            SortedDictionary <int, ShardWriteOperation> operations = new SortedDictionary <int, ShardWriteOperation>();

            foreach (var write in writes)
            {
                operations.Add(write.Value.Pos, write.Value);
            }
            return(Task.FromResult(operations));
        }
Ejemplo n.º 3
0
        public Task <SortedDictionary <int, ShardWriteOperation> > GetAllUnappliedOperationsAsync(Guid shardId)
        {
            var sortedSWO = ShardWriteOperations.Where(swo => swo.Value.Data.ShardId == shardId).ToList();
            SortedDictionary <int, ShardWriteOperation> result = new SortedDictionary <int, ShardWriteOperation>();

            foreach (var operation in sortedSWO)
            {
                result.Add(operation.Value.Pos, operation.Value);
            }
            return(Task.FromResult(result));
        }
Ejemplo n.º 4
0
 public Task <ShardWriteOperation> GetShardWriteOperationAsync(Guid shardId, int syncPos)
 {
     return(Task.FromResult(SystemExtension.Clone(ShardWriteOperations.Where(swo => swo.Value.Data.ShardId == shardId && swo.Value.Pos == syncPos).FirstOrDefault().Value)));
 }