Пример #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 InitialUpdater(KeyStruct *key, InputStruct *input, ValueStruct *value)
 {
     ValueStruct.Copy((ValueStruct *)input, value);
 }
Пример #4
0
 public static int InitialValueLength(KeyStruct *key, InputStruct *input)
 {
     return(ValueStruct.GetLength(default(ValueStruct *)));
 }
Пример #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);
 }
Пример #6
0
 public static void SingleReader(KeyStruct *key, InputStruct *input, ValueStruct *value, OutputStruct *dst)
 {
     ValueStruct.Copy(value, (ValueStruct *)dst);
 }
Пример #7
0
 public static void ReadCompletionCallback(KeyStruct *key, InputStruct *input, OutputStruct *output, Empty *ctx, Status status)
 {
 }
Пример #8
0
 public static InputStruct *MoveToContext(InputStruct *input)
 {
     return(input);
 }