public static void InPlaceUpdater(KeyStruct *key, InputStruct *input, ValueStruct *value) { ValueStruct.AcquireWriteLock(value); value->vfield1 += input->ifield1; value->vfield2 += input->ifield2; ValueStruct.ReleaseWriteLock(value); }
public static int GetLength(KeyStruct *key) { return(physicalSize); }
public static bool Equals(KeyStruct *k1, KeyStruct *k2) { return(k1->kfield1 == k2->kfield1 && k1->kfield2 == k2->kfield2); }
public static void CopyUpdater(KeyStruct *key, InputStruct *input, ValueStruct *oldValue, ValueStruct *newValue) { newValue->vfield1 = oldValue->vfield1 + input->ifield1; newValue->vfield2 = oldValue->vfield2 + input->ifield2; }
public static void Free(KeyStruct *key) { throw new NotImplementedException(); }
public static void InitialUpdater(KeyStruct *key, InputStruct *input, ValueStruct *value) { ValueStruct.Copy((ValueStruct *)input, value); }
public static long GetHashCode(KeyStruct *key) { return(Utility.GetHashCode(*((long *)key))); }
public static void Free(KeyStruct *key) { throw new InvalidOperationException(); }
public static void ConcurrentReader(KeyStruct *key, InputStruct *input, ValueStruct *value, OutputStruct *dst) { ValueStruct.AcquireReadLock(value); ValueStruct.Copy(value, (ValueStruct *)dst); ValueStruct.ReleaseReadLock(value); }
public static void SingleWriter(KeyStruct *key, ValueStruct *src, ValueStruct *dst) { ValueStruct.Copy(src, dst); }
public static void SingleReader(KeyStruct *key, InputStruct *input, ValueStruct *value, OutputStruct *dst) { ValueStruct.Copy(value, (ValueStruct *)dst); }
public static void UpsertCompletionCallback(KeyStruct *key, ValueStruct *output, Empty *ctx) { }
public static void ReadCompletionCallback(KeyStruct *key, InputStruct *input, OutputStruct *output, Empty *ctx, Status status) { }
public static void Copy(KeyStruct *src, KeyStruct *dst) { dst->kfield1 = src->kfield1; dst->kfield2 = src->kfield2; }
public static void ConcurrentWriter(KeyStruct *key, ValueStruct *src, ValueStruct *dst) { ValueStruct.AcquireWriteLock(dst); ValueStruct.Copy(src, dst); ValueStruct.ReleaseWriteLock(dst); }
public static void Deserialize(KeyStruct *key, Stream fromStream) { throw new InvalidOperationException(); }
public static int InitialValueLength(KeyStruct *key, InputStruct *input) { return(ValueStruct.GetLength(default(ValueStruct *))); }
public static KeyStruct *MoveToContext(KeyStruct *key) { return(key); }
public static void Deserialize(KeyStruct *key, Stream fromStream) { throw new NotImplementedException(); }