| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
- // This source code is licensed under both the GPLv2 (found in the
- // COPYING file in the root directory) and Apache 2.0 License
- // (found in the LICENSE.Apache file in the root directory).
- #include "db/blob/blob_file_meta.h"
- #include <ostream>
- #include <sstream>
- #include "db/blob/blob_log_format.h"
- #include "rocksdb/slice.h"
- namespace ROCKSDB_NAMESPACE {
- uint64_t SharedBlobFileMetaData::GetBlobFileSize() const {
- return BlobLogHeader::kSize + total_blob_bytes_ + BlobLogFooter::kSize;
- }
- std::string SharedBlobFileMetaData::DebugString() const {
- std::ostringstream oss;
- oss << (*this);
- return oss.str();
- }
- std::ostream& operator<<(std::ostream& os,
- const SharedBlobFileMetaData& shared_meta) {
- os << "blob_file_number: " << shared_meta.GetBlobFileNumber()
- << " total_blob_count: " << shared_meta.GetTotalBlobCount()
- << " total_blob_bytes: " << shared_meta.GetTotalBlobBytes()
- << " checksum_method: " << shared_meta.GetChecksumMethod()
- << " checksum_value: "
- << Slice(shared_meta.GetChecksumValue()).ToString(/* hex */ true);
- return os;
- }
- std::string BlobFileMetaData::DebugString() const {
- std::ostringstream oss;
- oss << (*this);
- return oss.str();
- }
- std::ostream& operator<<(std::ostream& os, const BlobFileMetaData& meta) {
- const auto& shared_meta = meta.GetSharedMeta();
- assert(shared_meta);
- os << (*shared_meta);
- os << " linked_ssts: {";
- for (uint64_t file_number : meta.GetLinkedSsts()) {
- os << ' ' << file_number;
- }
- os << " }";
- os << " garbage_blob_count: " << meta.GetGarbageBlobCount()
- << " garbage_blob_bytes: " << meta.GetGarbageBlobBytes();
- return os;
- }
- } // namespace ROCKSDB_NAMESPACE
|