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); }
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; } }