Exemplo n.º 1
0
        public void DeliveredTuples(DadTupleId inputId, List <DadTupleId> outputIds)
        {
            Console.WriteLine("[Services] Receiving delivered status of {0} tuple(s) computed from {1}.", outputIds.Count, inputId);

            Group.AddDelivered(inputId);
            Group.DeleteProcessed(outputIds);
        }
Exemplo n.º 2
0
        public void AddDelivered(DadTupleId upstreamId)
        {
            Debug.Assert(!Delivered.Contains(upstreamId));

            Delivered.Add(upstreamId);
            // TODO: remove from shared?
        }
Exemplo n.º 3
0
        public void SaveProcessedTuples(DadTupleId oldId, List <DadTuple> processedTuples)
        {
            Console.WriteLine("[Services] Receiving processed tuples of {0}.", oldId);

            TupleProcessor.TupleWasProcessed(Group.GetInputTupleByUpstreamId(oldId));
            Group.SaveProcessedTuples(oldId, processedTuples);
        }
Exemplo n.º 4
0
        public void SaveProcessedTuples(DadTupleId upstreamId, List <DadTuple> processedTuples)
        {
            Debug.Assert(!Processed.ContainsKey(upstreamId));
            Debug.Assert(!Delivered.Contains(upstreamId));

            foreach (var processedTuple in processedTuples)
            {
                Debug.Assert(!Deleted.Contains(processedTuple.Id));
            }

            Processed.Add(upstreamId, processedTuples);
            // TODO: remove from shared?
        }
Exemplo n.º 5
0
 private IReplica GetOwnerOfTuple(DadTupleId upstreamId)
 {
     return(AliveMembers.SingleOrDefault(peer => peer.IsOwner(upstreamId)));
 }
Exemplo n.º 6
0
 public DadTuple GetInputTupleByUpstreamId(DadTupleId upstreamId)
 {
     return(Shared.Keys.FirstOrDefault(t => t.Id.Equals(upstreamId)));
 }
Exemplo n.º 7
0
 public void DeliveredTuples(DadTupleId inputId, List <DadTupleId> outputIds)
 {
     Proxy.DeliveredTuples(inputId, outputIds);
 }
Exemplo n.º 8
0
 public void SaveProcessedTuples(DadTupleId oldId, List <DadTuple> outTuples)
 {
     Proxy.SaveProcessedTuples(oldId, outTuples);
 }