public static void InitialUpdater(MixedKeyWrapper *key, MixedInputWrapper *input, MixedValueWrapper *value) { userFunctions.InitialUpdater( UserType.Convert(key), UserType.Convert(input), ref UserType.Convert(value)); }
public static MixedKeyWrapper *MoveToContext(MixedKeyWrapper *key) { var addr = (MixedKeyWrapper *) MallocFixedPageSize <MixedKeyWrapper> .PhysicalInstance.Allocate(); Copy(key, addr); return(addr); }
public static void SingleReader(MixedKeyWrapper *key, MixedInputWrapper *input, MixedValueWrapper *value, MixedOutputWrapper *dst) { userFunctions.Reader( UserType.Convert(key), UserType.Convert(input), UserType.Convert(value), ref UserType.Convert(dst)); }
public static void CopyUpdater(MixedKeyWrapper *key, MixedInputWrapper *input, MixedValueWrapper *oldValue, MixedValueWrapper *newValue) { userFunctions.CopyUpdater( UserType.Convert(key), UserType.Convert(input), UserType.Convert(oldValue), ref UserType.Convert(newValue)); }
public static void UpsertCompletionCallback(MixedKeyWrapper *key, MixedValueWrapper *value, MixedContextWrapper *ctx) { userFunctions.UpsertCompletionCallback( UserType.Convert(ctx)); UserType.FreeFromContext(key); UserType.FreeFromContext(value); UserType.FreeFromContext(ctx); }
public static void RMWCompletionCallback(MixedKeyWrapper *key, MixedInputWrapper *input, MixedContextWrapper *ctx, Status status) { userFunctions.RMWCompletionCallback( UserType.Convert(ctx), status); UserType.FreeFromContext(key); UserType.FreeFromContext(input); UserType.FreeFromContext(ctx); }
public static void FreeFromContext(MixedKeyWrapper *k) { #if BLIT_KEY MallocFixedPageSize <MixedKeyWrapper> .PhysicalInstance.FreeAtEpoch((long)k); #else ((BlittableTypeWrapper *)k)->Free <MixedKey>(); MallocFixedPageSize <long> .PhysicalInstance.FreeAtEpoch((long)k); #endif }
public static ref MixedKey Convert(MixedKeyWrapper *k) { #if BLIT_KEY && !GENERIC_BLIT_KEY return(ref k->key); #elif BLIT_KEY && GENERIC_BLIT_KEY return(ref Unsafe.AsRef <MixedKey>(k)); #else return(ref ((BlittableTypeWrapper *)k)->GetObject <MixedKey>()); #endif }
public static void InPlaceUpdater(MixedKeyWrapper *key, MixedInputWrapper *input, MixedValueWrapper *value) { MixedValueWrapper.AcquireWriteLock(value); userFunctions.InPlaceUpdater( UserType.Convert(key), UserType.Convert(input), ref UserType.Convert(value)); MixedValueWrapper.ReleaseWriteLock(value); }
public static void ConcurrentReader(MixedKeyWrapper *key, MixedInputWrapper *input, MixedValueWrapper *value, MixedOutputWrapper *dst) { MixedValueWrapper.AcquireReadLock(value); userFunctions.Reader( UserType.Convert(key), UserType.Convert(input), UserType.Convert(value), ref UserType.Convert(dst)); MixedValueWrapper.ReleaseReadLock(value); }
public static void Copy(MixedKeyWrapper *src, MixedKeyWrapper *dst) { dst->key = src->key; }
public static void Deserialize(MixedKeyWrapper *key, Stream fromStream) { throw new InvalidOperationException(); }
public static bool Equals(MixedKeyWrapper *k1, MixedKeyWrapper *k2) { return(UserType.Convert(k1).Equals(UserType.Convert(k2))); }
public static int GetLength(MixedKeyWrapper *key) { return(sizeof(MixedKeyWrapper)); }
public static long GetHashCode(MixedKeyWrapper *key) { return(UserType.Convert(key).GetHashCode()); }
public static int InitialValueLength(MixedKeyWrapper *key, MixedInputWrapper *input) { return(MixedValueWrapper.GetLength(null)); }
public static void ConcurrentWriter(MixedKeyWrapper *key, MixedValueWrapper *src, MixedValueWrapper *dst) { MixedValueWrapper.AcquireWriteLock(dst); MixedValueWrapper.Copy(src, dst); MixedValueWrapper.ReleaseWriteLock(dst); }
public static void Free(MixedKeyWrapper *key) { throw new NotImplementedException(); }
public static void Free(MixedKeyWrapper *key) { throw new InvalidOperationException(); }
public static void SingleWriter(MixedKeyWrapper *key, MixedValueWrapper *src, MixedValueWrapper *dst) { MixedValueWrapper.Copy(src, dst); }
public static void Deserialize(MixedKeyWrapper *key, Stream fromStream) { throw new NotImplementedException(); }