Esempio n. 1
0
 public static void InitialUpdater(MixedKeyWrapper *key, MixedInputWrapper *input, MixedValueWrapper *value)
 {
     userFunctions.InitialUpdater(
         UserType.Convert(key),
         UserType.Convert(input),
         ref UserType.Convert(value));
 }
Esempio n. 2
0
        public static MixedKeyWrapper *MoveToContext(MixedKeyWrapper *key)
        {
            var addr = (MixedKeyWrapper *)
                       MallocFixedPageSize <MixedKeyWrapper> .PhysicalInstance.Allocate();

            Copy(key, addr);
            return(addr);
        }
Esempio n. 3
0
 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));
 }
Esempio n. 4
0
 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));
 }
Esempio n. 5
0
        public static void UpsertCompletionCallback(MixedKeyWrapper *key, MixedValueWrapper *value, MixedContextWrapper *ctx)
        {
            userFunctions.UpsertCompletionCallback(
                UserType.Convert(ctx));

            UserType.FreeFromContext(key);
            UserType.FreeFromContext(value);
            UserType.FreeFromContext(ctx);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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
        }
Esempio n. 8
0
        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
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
 public static void Copy(MixedKeyWrapper *src, MixedKeyWrapper *dst)
 {
     dst->key = src->key;
 }
Esempio n. 12
0
 public static void Deserialize(MixedKeyWrapper *key, Stream fromStream)
 {
     throw new InvalidOperationException();
 }
Esempio n. 13
0
 public static bool Equals(MixedKeyWrapper *k1, MixedKeyWrapper *k2)
 {
     return(UserType.Convert(k1).Equals(UserType.Convert(k2)));
 }
Esempio n. 14
0
 public static int GetLength(MixedKeyWrapper *key)
 {
     return(sizeof(MixedKeyWrapper));
 }
Esempio n. 15
0
 public static long GetHashCode(MixedKeyWrapper *key)
 {
     return(UserType.Convert(key).GetHashCode());
 }
Esempio n. 16
0
 public static int InitialValueLength(MixedKeyWrapper *key, MixedInputWrapper *input)
 {
     return(MixedValueWrapper.GetLength(null));
 }
Esempio n. 17
0
 public static void ConcurrentWriter(MixedKeyWrapper *key, MixedValueWrapper *src, MixedValueWrapper *dst)
 {
     MixedValueWrapper.AcquireWriteLock(dst);
     MixedValueWrapper.Copy(src, dst);
     MixedValueWrapper.ReleaseWriteLock(dst);
 }
Esempio n. 18
0
 public static void Free(MixedKeyWrapper *key)
 {
     throw new NotImplementedException();
 }
Esempio n. 19
0
 public static void Free(MixedKeyWrapper *key)
 {
     throw new InvalidOperationException();
 }
Esempio n. 20
0
 public static void SingleWriter(MixedKeyWrapper *key, MixedValueWrapper *src, MixedValueWrapper *dst)
 {
     MixedValueWrapper.Copy(src, dst);
 }
Esempio n. 21
0
 public static void Deserialize(MixedKeyWrapper *key, Stream fromStream)
 {
     throw new NotImplementedException();
 }