Пример #1
0
        public LogCollection(
            string folder,
            string name,
            int id,
            Func <T, Guid> keyProvider,
            Func <T, byte[]> serializer,
            Func <byte[], T> deserializer,
            bool readOnly             = false,
            long maxFileSize          = sizeof(byte) * 1024 * 1024 * 25,
            int compactEvery          = 3,
            CompactificationMode mode = CompactificationMode.FileCount)
        {
            _name         = name;
            _folder       = folder;
            _id           = id;
            _serializer   = serializer;
            _deserializer = deserializer;
            _keyProvider  = keyProvider;
            _maxFileSize  = maxFileSize;
            _compactEvery = compactEvery;
            _readOnly     = readOnly;
            _modeCounter  = 0;

            _idProvider = new Func <T, int>(d => _id);

            _log = new BinaryLog(_folder, _name, _maxFileSize, _readOnly);
        }
Пример #2
0
 public LogCollection(
     string folder,
     string name,
     int defaultId,
     Func <T, int> idProvider,
     Func <T, Guid> keyProvider,
     Func <T, byte[]> serializer,
     Func <byte[], T> deserializer,
     bool readOnly             = false,
     long maxFileSize          = sizeof(byte) * 1024 * 1024 * 25,
     int compactEvery          = 3,
     CompactificationMode mode = CompactificationMode.FileCount)
     : this(folder, name, defaultId, keyProvider, serializer, deserializer, readOnly, maxFileSize, compactEvery, mode)
 {
     if (idProvider != null)
     {
         _idProvider = idProvider;
     }
 }