コード例 #1
0
        internal static void RegisterMessageAttributeName(string name, AttributeMessageMode mode)
        {
            if (messageAttributeHashes.ContainsKey(name))
            {
                return;
            }

            ulong value = 0;

            switch (mode)
            {
            case AttributeMessageMode.WovenTwoByte:
                value = PrimitiveHasher.GetUShortHash(name);
                break;

            case AttributeMessageMode.WovenFourByte:
                value = PrimitiveHasher.GetUIntHash(name);
                break;

            case AttributeMessageMode.WovenEightByte:
                value = PrimitiveHasher.GetULongHash(name);
                break;

            case AttributeMessageMode.Disabled:
                value = 0;
                break;
            }

            messageAttributeHashes.Add(name, value);
            messageAttributeNames.Add(value, name);
        }
コード例 #2
0
        internal static void RegisterMessageAttributeName(string name)
        {
            if (messageAttributeHashes.ContainsKey(name))
            {
                return;
            }

            ulong value = PrimitiveHasher.GetULongHash(name);

            messageAttributeHashes.Add(name, value);
            messageAttributeNames.Add(value, name);
        }
コード例 #3
0
        internal static ulong GetMessageAttributeHash(string name)
        {
            if (messageAttributeHashes.ContainsKey(name))
            {
                return(messageAttributeHashes[name]);
            }

            ulong value = PrimitiveHasher.GetULongHash(name);

            messageAttributeHashes.Add(name, value);
            messageAttributeNames.Add(value, name);
            return(value);
        }