Esempio n. 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);
 }
Esempio n. 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;
 }
Esempio n. 3
0
 public static void InitialUpdater(KeyStruct *key, InputStruct *input, ValueStruct *value)
 {
     ValueStruct.Copy((ValueStruct *)input, value);
 }
Esempio n. 4
0
 public static int InitialValueLength(KeyStruct *key, InputStruct *input)
 {
     return(ValueStruct.GetLength(default(ValueStruct *)));
 }
Esempio n. 5
0
 public static void ConcurrentReader(KeyStruct *key, InputStruct *input, ValueStruct *value, OutputStruct *dst)
 {
     ValueStruct.AcquireReadLock(value);
     ValueStruct.Copy(value, (ValueStruct *)dst);
     ValueStruct.ReleaseReadLock(value);
 }
Esempio n. 6
0
 public static void SingleReader(KeyStruct *key, InputStruct *input, ValueStruct *value, OutputStruct *dst)
 {
     ValueStruct.Copy(value, (ValueStruct *)dst);
 }
Esempio n. 7
0
 public static void ReadCompletionCallback(KeyStruct *key, InputStruct *input, OutputStruct *output, Empty *ctx, Status status)
 {
 }
Esempio n. 8
0
 public static InputStruct *MoveToContext(InputStruct *input)
 {
     return(input);
 }