/// <summary>
        /// Reads an instance.
        /// </summary>
        internal static EvictionPolicyBase Read(IBinaryRawReader reader)
        {
            EvictionPolicyBase p;

            switch (reader.ReadByte())
            {
            case 0:
                return(null);

            case 1:
                p = new FifoEvictionPolicy();
                break;

            case 2:
                p = new LruEvictionPolicy();
                break;

            default:
                throw new InvalidOperationException("Unsupported eviction policy.");
            }

            p.BatchSize     = reader.ReadInt();
            p.MaxSize       = reader.ReadInt();
            p.MaxMemorySize = reader.ReadLong();

            return(p);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Reads an instance.
        /// </summary>
        internal static EvictionPolicyBase Read(IBinaryRawReader reader)
        {
            EvictionPolicyBase p;

            switch (reader.ReadByte())
            {
                case 0:
                    return null;
                case 1:
                    p = new FifoEvictionPolicy();
                    break;
                case 2:
                    p = new LruEvictionPolicy();
                    break;
                default:
                    throw new InvalidOperationException("Unsupported eviction policy.");
            }

            p.BatchSize = reader.ReadInt();
            p.MaxSize = reader.ReadInt();
            p.MaxMemorySize = reader.ReadLong();

            return p;
        }