Branch data Line data Source code
# 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 : : #ifndef STORAGE_LEVELDB_DB_WRITE_BATCH_INTERNAL_H_ # 6 : : #define STORAGE_LEVELDB_DB_WRITE_BATCH_INTERNAL_H_ # 7 : : # 8 : : #include "db/dbformat.h" # 9 : : #include "leveldb/write_batch.h" # 10 : : # 11 : : namespace leveldb { # 12 : : # 13 : : class MemTable; # 14 : : # 15 : : // WriteBatchInternal provides static methods for manipulating a # 16 : : // WriteBatch that we don't want in the public WriteBatch interface. # 17 : : class WriteBatchInternal { # 18 : : public: # 19 : : // Return the number of entries in the batch. # 20 : : static int Count(const WriteBatch* batch); # 21 : : # 22 : : // Set the count for the number of entries in the batch. # 23 : : static void SetCount(WriteBatch* batch, int n); # 24 : : # 25 : : // Return the sequence number for the start of this batch. # 26 : : static SequenceNumber Sequence(const WriteBatch* batch); # 27 : : # 28 : : // Store the specified number as the sequence number for the start of # 29 : : // this batch. # 30 : : static void SetSequence(WriteBatch* batch, SequenceNumber seq); # 31 : : # 32 : 13678 : static Slice Contents(const WriteBatch* batch) { return Slice(batch->rep_); } # 33 : : # 34 : 13678 : static size_t ByteSize(const WriteBatch* batch) { return batch->rep_.size(); } # 35 : : # 36 : : static void SetContents(WriteBatch* batch, const Slice& contents); # 37 : : # 38 : : static Status InsertInto(const WriteBatch* batch, MemTable* memtable); # 39 : : # 40 : : static void Append(WriteBatch* dst, const WriteBatch* src); # 41 : : }; # 42 : : # 43 : : } // namespace leveldb # 44 : : # 45 : : #endif // STORAGE_LEVELDB_DB_WRITE_BATCH_INTERNAL_H_