log_format.h raw

   1  // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
   2  // Use of this source code is governed by a BSD-style license that can be
   3  // found in the LICENSE file. See the AUTHORS file for names of contributors.
   4  //
   5  // Log format information shared by reader and writer.
   6  // See ../doc/log_format.md for more detail.
   7  
   8  #ifndef STORAGE_LEVELDB_DB_LOG_FORMAT_H_
   9  #define STORAGE_LEVELDB_DB_LOG_FORMAT_H_
  10  
  11  namespace leveldb {
  12  namespace log {
  13  
  14  enum RecordType {
  15    // Zero is reserved for preallocated files
  16    kZeroType = 0,
  17  
  18    kFullType = 1,
  19  
  20    // For fragments
  21    kFirstType = 2,
  22    kMiddleType = 3,
  23    kLastType = 4
  24  };
  25  static const int kMaxRecordType = kLastType;
  26  
  27  static const int kBlockSize = 32768;
  28  
  29  // Header is checksum (4 bytes), length (2 bytes), type (1 byte).
  30  static const int kHeaderSize = 4 + 2 + 1;
  31  
  32  }  // namespace log
  33  }  // namespace leveldb
  34  
  35  #endif  // STORAGE_LEVELDB_DB_LOG_FORMAT_H_
  36