예제 #1
0
 public static void InPlaceUpdater(KeyStruct *key, InputStruct *input, ValueStruct *value)
 {
     ValueStruct.AcquireWriteLock(value);
     value->vfield1 += input->ifield1;
     value->vfield2 += input->ifield2;
     ValueStruct.ReleaseWriteLock(value);
 }
예제 #2
0
 public static void CopyUpdater(KeyStruct *key, InputStruct *input, ValueStruct *oldValue, ValueStruct *newValue)
 {
     newValue->vfield1 = oldValue->vfield1 + input->ifield1;
     newValue->vfield2 = oldValue->vfield2 + input->ifield2;
 }
예제 #3
0
 public static void ConcurrentWriter(KeyStruct *key, ValueStruct *src, ValueStruct *dst)
 {
     ValueStruct.AcquireWriteLock(dst);
     ValueStruct.Copy(src, dst);
     ValueStruct.ReleaseWriteLock(dst);
 }
예제 #4
0
 public static void InitialUpdater(KeyStruct *key, InputStruct *input, ValueStruct *value)
 {
     ValueStruct.Copy((ValueStruct *)input, value);
 }
예제 #5
0
 public static void Free(ValueStruct *key)
 {
     throw new NotImplementedException();
 }
예제 #6
0
 public static void SingleWriter(KeyStruct *key, ValueStruct *src, ValueStruct *dst)
 {
     ValueStruct.Copy(src, dst);
 }
예제 #7
0
 public static void UpsertCompletionCallback(KeyStruct *key, ValueStruct *output, Empty *ctx)
 {
 }
예제 #8
0
 // Shared read/write capabilities on value
 public static void AcquireReadLock(ValueStruct *value)
 {
 }
예제 #9
0
 public static void Free(ValueStruct *key)
 {
     throw new InvalidOperationException();
 }
예제 #10
0
 public static ValueStruct *MoveToContext(ValueStruct *value)
 {
     return(value);
 }
예제 #11
0
 public static void Deserialize(ValueStruct *key, Stream fromStream)
 {
     throw new InvalidOperationException();
 }
예제 #12
0
 public static void ReleaseWriteLock(ValueStruct *value)
 {
 }
예제 #13
0
 public static void AcquireWriteLock(ValueStruct *value)
 {
 }
예제 #14
0
 public static int GetLength(ValueStruct *input)
 {
     return(physicalSize);
 }
예제 #15
0
 public static void SingleReader(KeyStruct *key, InputStruct *input, ValueStruct *value, OutputStruct *dst)
 {
     ValueStruct.Copy(value, (ValueStruct *)dst);
 }
예제 #16
0
 public static void Copy(ValueStruct *src, ValueStruct *dst)
 {
     dst->vfield1 = src->vfield1;
     dst->vfield2 = src->vfield2;
 }
예제 #17
0
 public static void ConcurrentReader(KeyStruct *key, InputStruct *input, ValueStruct *value, OutputStruct *dst)
 {
     ValueStruct.AcquireReadLock(value);
     ValueStruct.Copy(value, (ValueStruct *)dst);
     ValueStruct.ReleaseReadLock(value);
 }
예제 #18
0
 public static void ReleaseReadLock(ValueStruct *value)
 {
 }
예제 #19
0
 public static void Deserialize(ValueStruct *key, Stream fromStream)
 {
     throw new NotImplementedException();
 }