Exemplo n.º 1
0
 public override bool NeedCopyUpdate(ref int key, ref int input, ref int oldValue, ref int output, ref RMWInfo rmwInfo)
 {
     lastFunc = CancelLocation.NeedCopyUpdate;
     if (cancelLocation == CancelLocation.NeedCopyUpdate)
     {
         rmwInfo.Action = RMWAction.CancelOperation;
         return(false);
     }
     return(true);
 }
Exemplo n.º 2
0
 // Upsert functions
 public override bool SingleWriter(ref int key, ref int input, ref int src, ref int dst, ref int output, ref UpsertInfo upsertInfo, WriteReason reason)
 {
     lastFunc = CancelLocation.SingleWriter;
     if (cancelLocation == CancelLocation.SingleWriter)
     {
         upsertInfo.Action = UpsertAction.CancelOperation;
         return(false);
     }
     dst = src;
     return(true);
 }
Exemplo n.º 3
0
 public override bool InPlaceUpdater(ref int key, ref int input, ref int value, ref int output, ref RMWInfo rmwInfo)
 {
     lastFunc = CancelLocation.InPlaceUpdater;
     if (cancelLocation == CancelLocation.InPlaceUpdater)
     {
         rmwInfo.Action = RMWAction.CancelOperation;
         return(false);
     }
     value = input;
     return(true);
 }
Exemplo n.º 4
0
 public override bool ConcurrentWriter(ref int key, ref int input, ref int src, ref int dst, ref int output, ref UpsertInfo upsertInfo)
 {
     lastFunc = CancelLocation.ConcurrentWriter;
     if (cancelLocation == CancelLocation.ConcurrentWriter)
     {
         upsertInfo.Action = UpsertAction.CancelOperation;
         return(false);
     }
     dst = src;
     return(true);
 }
Exemplo n.º 5
0
 /// <inheritdoc/>
 public override bool CopyUpdater(ref int key, ref int input, ref int oldValue, ref int newValue, ref int output, ref RMWInfo rmwInfo)
 {
     lastFunc = CancelLocation.CopyUpdater;
     Assert.AreNotEqual(CancelLocation.NeedCopyUpdate, cancelLocation);
     if (cancelLocation == CancelLocation.CopyUpdater)
     {
         rmwInfo.Action = RMWAction.CancelOperation;
         return(false);
     }
     newValue = oldValue;
     return(true);
 }
Exemplo n.º 6
0
 public override bool InitialUpdater(ref int key, ref int input, ref int value, ref int output, ref RMWInfo rmwInfo)
 {
     lastFunc = CancelLocation.InitialUpdater;
     Assert.AreNotEqual(CancelLocation.NeedInitialUpdate, cancelLocation);
     Assert.AreNotEqual(CancelLocation.InPlaceUpdater, cancelLocation);
     if (cancelLocation == CancelLocation.InitialUpdater)
     {
         rmwInfo.Action = RMWAction.CancelOperation;
         return(false);
     }
     value = input;
     return(true);
 }
Exemplo n.º 7
0
 public Cancel(string value, CancelLocation location)
 {
     this.Value = value;
     this.Location = location;
     this.LocationSpecified = true;
 }