mirror of
https://github.com/XTXMarkets/ternfs.git
synced 2026-01-07 11:30:49 -06:00
This is in preparation with a deeper refactor of reading from Go in general. The big difference that we have now which we did not have before is that we now have CRCs for every single page.
12631 lines
471 KiB
C++
Generated
12631 lines
471 KiB
C++
Generated
// Copyright 2025 XTX Markets Technologies Limited
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
// Automatically generated with go run bincodegen.
|
|
// Run `go generate ./...` from the go/ directory to regenerate it.
|
|
#include "MsgsGen.hpp"
|
|
|
|
std::ostream& operator<<(std::ostream& out, TernError err) {
|
|
switch (err) {
|
|
case TernError::NO_ERROR:
|
|
out << "NO_ERROR";
|
|
break;
|
|
case TernError::INTERNAL_ERROR:
|
|
out << "INTERNAL_ERROR";
|
|
break;
|
|
case TernError::FATAL_ERROR:
|
|
out << "FATAL_ERROR";
|
|
break;
|
|
case TernError::TIMEOUT:
|
|
out << "TIMEOUT";
|
|
break;
|
|
case TernError::MALFORMED_REQUEST:
|
|
out << "MALFORMED_REQUEST";
|
|
break;
|
|
case TernError::MALFORMED_RESPONSE:
|
|
out << "MALFORMED_RESPONSE";
|
|
break;
|
|
case TernError::NOT_AUTHORISED:
|
|
out << "NOT_AUTHORISED";
|
|
break;
|
|
case TernError::UNRECOGNIZED_REQUEST:
|
|
out << "UNRECOGNIZED_REQUEST";
|
|
break;
|
|
case TernError::FILE_NOT_FOUND:
|
|
out << "FILE_NOT_FOUND";
|
|
break;
|
|
case TernError::DIRECTORY_NOT_FOUND:
|
|
out << "DIRECTORY_NOT_FOUND";
|
|
break;
|
|
case TernError::NAME_NOT_FOUND:
|
|
out << "NAME_NOT_FOUND";
|
|
break;
|
|
case TernError::EDGE_NOT_FOUND:
|
|
out << "EDGE_NOT_FOUND";
|
|
break;
|
|
case TernError::EDGE_IS_LOCKED:
|
|
out << "EDGE_IS_LOCKED";
|
|
break;
|
|
case TernError::TYPE_IS_DIRECTORY:
|
|
out << "TYPE_IS_DIRECTORY";
|
|
break;
|
|
case TernError::TYPE_IS_NOT_DIRECTORY:
|
|
out << "TYPE_IS_NOT_DIRECTORY";
|
|
break;
|
|
case TernError::BAD_COOKIE:
|
|
out << "BAD_COOKIE";
|
|
break;
|
|
case TernError::INCONSISTENT_STORAGE_CLASS_PARITY:
|
|
out << "INCONSISTENT_STORAGE_CLASS_PARITY";
|
|
break;
|
|
case TernError::LAST_SPAN_STATE_NOT_CLEAN:
|
|
out << "LAST_SPAN_STATE_NOT_CLEAN";
|
|
break;
|
|
case TernError::COULD_NOT_PICK_BLOCK_SERVICES:
|
|
out << "COULD_NOT_PICK_BLOCK_SERVICES";
|
|
break;
|
|
case TernError::BAD_SPAN_BODY:
|
|
out << "BAD_SPAN_BODY";
|
|
break;
|
|
case TernError::SPAN_NOT_FOUND:
|
|
out << "SPAN_NOT_FOUND";
|
|
break;
|
|
case TernError::BLOCK_SERVICE_NOT_FOUND:
|
|
out << "BLOCK_SERVICE_NOT_FOUND";
|
|
break;
|
|
case TernError::CANNOT_CERTIFY_BLOCKLESS_SPAN:
|
|
out << "CANNOT_CERTIFY_BLOCKLESS_SPAN";
|
|
break;
|
|
case TernError::BAD_NUMBER_OF_BLOCKS_PROOFS:
|
|
out << "BAD_NUMBER_OF_BLOCKS_PROOFS";
|
|
break;
|
|
case TernError::BAD_BLOCK_PROOF:
|
|
out << "BAD_BLOCK_PROOF";
|
|
break;
|
|
case TernError::CANNOT_OVERRIDE_NAME:
|
|
out << "CANNOT_OVERRIDE_NAME";
|
|
break;
|
|
case TernError::NAME_IS_LOCKED:
|
|
out << "NAME_IS_LOCKED";
|
|
break;
|
|
case TernError::MTIME_IS_TOO_RECENT:
|
|
out << "MTIME_IS_TOO_RECENT";
|
|
break;
|
|
case TernError::MISMATCHING_TARGET:
|
|
out << "MISMATCHING_TARGET";
|
|
break;
|
|
case TernError::MISMATCHING_OWNER:
|
|
out << "MISMATCHING_OWNER";
|
|
break;
|
|
case TernError::MISMATCHING_CREATION_TIME:
|
|
out << "MISMATCHING_CREATION_TIME";
|
|
break;
|
|
case TernError::DIRECTORY_NOT_EMPTY:
|
|
out << "DIRECTORY_NOT_EMPTY";
|
|
break;
|
|
case TernError::FILE_IS_TRANSIENT:
|
|
out << "FILE_IS_TRANSIENT";
|
|
break;
|
|
case TernError::OLD_DIRECTORY_NOT_FOUND:
|
|
out << "OLD_DIRECTORY_NOT_FOUND";
|
|
break;
|
|
case TernError::NEW_DIRECTORY_NOT_FOUND:
|
|
out << "NEW_DIRECTORY_NOT_FOUND";
|
|
break;
|
|
case TernError::LOOP_IN_DIRECTORY_RENAME:
|
|
out << "LOOP_IN_DIRECTORY_RENAME";
|
|
break;
|
|
case TernError::DIRECTORY_HAS_OWNER:
|
|
out << "DIRECTORY_HAS_OWNER";
|
|
break;
|
|
case TernError::FILE_IS_NOT_TRANSIENT:
|
|
out << "FILE_IS_NOT_TRANSIENT";
|
|
break;
|
|
case TernError::FILE_NOT_EMPTY:
|
|
out << "FILE_NOT_EMPTY";
|
|
break;
|
|
case TernError::CANNOT_REMOVE_ROOT_DIRECTORY:
|
|
out << "CANNOT_REMOVE_ROOT_DIRECTORY";
|
|
break;
|
|
case TernError::FILE_EMPTY:
|
|
out << "FILE_EMPTY";
|
|
break;
|
|
case TernError::CANNOT_REMOVE_DIRTY_SPAN:
|
|
out << "CANNOT_REMOVE_DIRTY_SPAN";
|
|
break;
|
|
case TernError::BAD_SHARD:
|
|
out << "BAD_SHARD";
|
|
break;
|
|
case TernError::BAD_NAME:
|
|
out << "BAD_NAME";
|
|
break;
|
|
case TernError::MORE_RECENT_SNAPSHOT_EDGE:
|
|
out << "MORE_RECENT_SNAPSHOT_EDGE";
|
|
break;
|
|
case TernError::MORE_RECENT_CURRENT_EDGE:
|
|
out << "MORE_RECENT_CURRENT_EDGE";
|
|
break;
|
|
case TernError::BAD_DIRECTORY_INFO:
|
|
out << "BAD_DIRECTORY_INFO";
|
|
break;
|
|
case TernError::DEADLINE_NOT_PASSED:
|
|
out << "DEADLINE_NOT_PASSED";
|
|
break;
|
|
case TernError::SAME_SOURCE_AND_DESTINATION:
|
|
out << "SAME_SOURCE_AND_DESTINATION";
|
|
break;
|
|
case TernError::SAME_DIRECTORIES:
|
|
out << "SAME_DIRECTORIES";
|
|
break;
|
|
case TernError::SAME_SHARD:
|
|
out << "SAME_SHARD";
|
|
break;
|
|
case TernError::BAD_PROTOCOL_VERSION:
|
|
out << "BAD_PROTOCOL_VERSION";
|
|
break;
|
|
case TernError::BAD_CERTIFICATE:
|
|
out << "BAD_CERTIFICATE";
|
|
break;
|
|
case TernError::BLOCK_TOO_RECENT_FOR_DELETION:
|
|
out << "BLOCK_TOO_RECENT_FOR_DELETION";
|
|
break;
|
|
case TernError::BLOCK_FETCH_OUT_OF_BOUNDS:
|
|
out << "BLOCK_FETCH_OUT_OF_BOUNDS";
|
|
break;
|
|
case TernError::BAD_BLOCK_CRC:
|
|
out << "BAD_BLOCK_CRC";
|
|
break;
|
|
case TernError::BLOCK_TOO_BIG:
|
|
out << "BLOCK_TOO_BIG";
|
|
break;
|
|
case TernError::BLOCK_NOT_FOUND:
|
|
out << "BLOCK_NOT_FOUND";
|
|
break;
|
|
case TernError::CANNOT_UNSET_DECOMMISSIONED:
|
|
out << "CANNOT_UNSET_DECOMMISSIONED";
|
|
break;
|
|
case TernError::CANNOT_REGISTER_DECOMMISSIONED_OR_STALE:
|
|
out << "CANNOT_REGISTER_DECOMMISSIONED_OR_STALE";
|
|
break;
|
|
case TernError::BLOCK_TOO_OLD_FOR_WRITE:
|
|
out << "BLOCK_TOO_OLD_FOR_WRITE";
|
|
break;
|
|
case TernError::BLOCK_IO_ERROR_DEVICE:
|
|
out << "BLOCK_IO_ERROR_DEVICE";
|
|
break;
|
|
case TernError::BLOCK_IO_ERROR_FILE:
|
|
out << "BLOCK_IO_ERROR_FILE";
|
|
break;
|
|
case TernError::INVALID_REPLICA:
|
|
out << "INVALID_REPLICA";
|
|
break;
|
|
case TernError::DIFFERENT_ADDRS_INFO:
|
|
out << "DIFFERENT_ADDRS_INFO";
|
|
break;
|
|
case TernError::LEADER_PREEMPTED:
|
|
out << "LEADER_PREEMPTED";
|
|
break;
|
|
case TernError::LOG_ENTRY_MISSING:
|
|
out << "LOG_ENTRY_MISSING";
|
|
break;
|
|
case TernError::LOG_ENTRY_TRIMMED:
|
|
out << "LOG_ENTRY_TRIMMED";
|
|
break;
|
|
case TernError::LOG_ENTRY_UNRELEASED:
|
|
out << "LOG_ENTRY_UNRELEASED";
|
|
break;
|
|
case TernError::LOG_ENTRY_RELEASED:
|
|
out << "LOG_ENTRY_RELEASED";
|
|
break;
|
|
case TernError::AUTO_DECOMMISSION_FORBIDDEN:
|
|
out << "AUTO_DECOMMISSION_FORBIDDEN";
|
|
break;
|
|
case TernError::INCONSISTENT_BLOCK_SERVICE_REGISTRATION:
|
|
out << "INCONSISTENT_BLOCK_SERVICE_REGISTRATION";
|
|
break;
|
|
case TernError::SWAP_BLOCKS_INLINE_STORAGE:
|
|
out << "SWAP_BLOCKS_INLINE_STORAGE";
|
|
break;
|
|
case TernError::SWAP_BLOCKS_MISMATCHING_SIZE:
|
|
out << "SWAP_BLOCKS_MISMATCHING_SIZE";
|
|
break;
|
|
case TernError::SWAP_BLOCKS_MISMATCHING_STATE:
|
|
out << "SWAP_BLOCKS_MISMATCHING_STATE";
|
|
break;
|
|
case TernError::SWAP_BLOCKS_MISMATCHING_CRC:
|
|
out << "SWAP_BLOCKS_MISMATCHING_CRC";
|
|
break;
|
|
case TernError::SWAP_BLOCKS_DUPLICATE_BLOCK_SERVICE:
|
|
out << "SWAP_BLOCKS_DUPLICATE_BLOCK_SERVICE";
|
|
break;
|
|
case TernError::SWAP_SPANS_INLINE_STORAGE:
|
|
out << "SWAP_SPANS_INLINE_STORAGE";
|
|
break;
|
|
case TernError::SWAP_SPANS_MISMATCHING_SIZE:
|
|
out << "SWAP_SPANS_MISMATCHING_SIZE";
|
|
break;
|
|
case TernError::SWAP_SPANS_NOT_CLEAN:
|
|
out << "SWAP_SPANS_NOT_CLEAN";
|
|
break;
|
|
case TernError::SWAP_SPANS_MISMATCHING_CRC:
|
|
out << "SWAP_SPANS_MISMATCHING_CRC";
|
|
break;
|
|
case TernError::SWAP_SPANS_MISMATCHING_BLOCKS:
|
|
out << "SWAP_SPANS_MISMATCHING_BLOCKS";
|
|
break;
|
|
case TernError::EDGE_NOT_OWNED:
|
|
out << "EDGE_NOT_OWNED";
|
|
break;
|
|
case TernError::CANNOT_CREATE_DB_SNAPSHOT:
|
|
out << "CANNOT_CREATE_DB_SNAPSHOT";
|
|
break;
|
|
case TernError::BLOCK_SIZE_NOT_MULTIPLE_OF_PAGE_SIZE:
|
|
out << "BLOCK_SIZE_NOT_MULTIPLE_OF_PAGE_SIZE";
|
|
break;
|
|
case TernError::SWAP_BLOCKS_DUPLICATE_FAILURE_DOMAIN:
|
|
out << "SWAP_BLOCKS_DUPLICATE_FAILURE_DOMAIN";
|
|
break;
|
|
case TernError::TRANSIENT_LOCATION_COUNT:
|
|
out << "TRANSIENT_LOCATION_COUNT";
|
|
break;
|
|
case TernError::ADD_SPAN_LOCATION_INLINE_STORAGE:
|
|
out << "ADD_SPAN_LOCATION_INLINE_STORAGE";
|
|
break;
|
|
case TernError::ADD_SPAN_LOCATION_MISMATCHING_SIZE:
|
|
out << "ADD_SPAN_LOCATION_MISMATCHING_SIZE";
|
|
break;
|
|
case TernError::ADD_SPAN_LOCATION_NOT_CLEAN:
|
|
out << "ADD_SPAN_LOCATION_NOT_CLEAN";
|
|
break;
|
|
case TernError::ADD_SPAN_LOCATION_MISMATCHING_CRC:
|
|
out << "ADD_SPAN_LOCATION_MISMATCHING_CRC";
|
|
break;
|
|
case TernError::ADD_SPAN_LOCATION_EXISTS:
|
|
out << "ADD_SPAN_LOCATION_EXISTS";
|
|
break;
|
|
case TernError::SWAP_BLOCKS_MISMATCHING_LOCATION:
|
|
out << "SWAP_BLOCKS_MISMATCHING_LOCATION";
|
|
break;
|
|
case TernError::LOCATION_EXISTS:
|
|
out << "LOCATION_EXISTS";
|
|
break;
|
|
case TernError::LOCATION_NOT_FOUND:
|
|
out << "LOCATION_NOT_FOUND";
|
|
break;
|
|
default:
|
|
out << "TernError(" << ((int)err) << ")";
|
|
break;
|
|
}
|
|
return out;
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, ShardMessageKind kind) {
|
|
switch (kind) {
|
|
case ShardMessageKind::ERROR:
|
|
out << "ERROR";
|
|
break;
|
|
case ShardMessageKind::LOOKUP:
|
|
out << "LOOKUP";
|
|
break;
|
|
case ShardMessageKind::STAT_FILE:
|
|
out << "STAT_FILE";
|
|
break;
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
out << "STAT_DIRECTORY";
|
|
break;
|
|
case ShardMessageKind::READ_DIR:
|
|
out << "READ_DIR";
|
|
break;
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
out << "CONSTRUCT_FILE";
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
out << "ADD_SPAN_INITIATE";
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
out << "ADD_SPAN_CERTIFY";
|
|
break;
|
|
case ShardMessageKind::LINK_FILE:
|
|
out << "LINK_FILE";
|
|
break;
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
out << "SOFT_UNLINK_FILE";
|
|
break;
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
out << "LOCAL_FILE_SPANS";
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
out << "SAME_DIRECTORY_RENAME";
|
|
break;
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
out << "ADD_INLINE_SPAN";
|
|
break;
|
|
case ShardMessageKind::SET_TIME:
|
|
out << "SET_TIME";
|
|
break;
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
out << "FULL_READ_DIR";
|
|
break;
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
out << "MOVE_SPAN";
|
|
break;
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
out << "REMOVE_NON_OWNED_EDGE";
|
|
break;
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
out << "SAME_SHARD_HARD_FILE_UNLINK";
|
|
break;
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
out << "STAT_TRANSIENT_FILE";
|
|
break;
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
out << "SHARD_SNAPSHOT";
|
|
break;
|
|
case ShardMessageKind::FILE_SPANS:
|
|
out << "FILE_SPANS";
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
out << "ADD_SPAN_LOCATION";
|
|
break;
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
out << "SCRAP_TRANSIENT_FILE";
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
out << "SET_DIRECTORY_INFO";
|
|
break;
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
out << "VISIT_DIRECTORIES";
|
|
break;
|
|
case ShardMessageKind::VISIT_FILES:
|
|
out << "VISIT_FILES";
|
|
break;
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
out << "VISIT_TRANSIENT_FILES";
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
out << "REMOVE_SPAN_INITIATE";
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
out << "REMOVE_SPAN_CERTIFY";
|
|
break;
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
out << "SWAP_BLOCKS";
|
|
break;
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
out << "BLOCK_SERVICE_FILES";
|
|
break;
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
out << "REMOVE_INODE";
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
out << "ADD_SPAN_INITIATE_WITH_REFERENCE";
|
|
break;
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
out << "REMOVE_ZERO_BLOCK_SERVICE_FILES";
|
|
break;
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
out << "SWAP_SPANS";
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
out << "SAME_DIRECTORY_RENAME_SNAPSHOT";
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
out << "ADD_SPAN_AT_LOCATION_INITIATE";
|
|
break;
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
out << "CREATE_DIRECTORY_INODE";
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
out << "SET_DIRECTORY_OWNER";
|
|
break;
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
out << "REMOVE_DIRECTORY_OWNER";
|
|
break;
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
out << "CREATE_LOCKED_CURRENT_EDGE";
|
|
break;
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
out << "LOCK_CURRENT_EDGE";
|
|
break;
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
out << "UNLOCK_CURRENT_EDGE";
|
|
break;
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
out << "REMOVE_OWNED_SNAPSHOT_FILE_EDGE";
|
|
break;
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
out << "MAKE_FILE_TRANSIENT";
|
|
break;
|
|
case ShardMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
out << "ShardMessageKind(" << ((int)kind) << ")";
|
|
break;
|
|
}
|
|
return out;
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, CDCMessageKind kind) {
|
|
switch (kind) {
|
|
case CDCMessageKind::ERROR:
|
|
out << "ERROR";
|
|
break;
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
out << "MAKE_DIRECTORY";
|
|
break;
|
|
case CDCMessageKind::RENAME_FILE:
|
|
out << "RENAME_FILE";
|
|
break;
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
out << "SOFT_UNLINK_DIRECTORY";
|
|
break;
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
out << "RENAME_DIRECTORY";
|
|
break;
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
out << "HARD_UNLINK_DIRECTORY";
|
|
break;
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
out << "CROSS_SHARD_HARD_UNLINK_FILE";
|
|
break;
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
out << "CDC_SNAPSHOT";
|
|
break;
|
|
case CDCMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
out << "CDCMessageKind(" << ((int)kind) << ")";
|
|
break;
|
|
}
|
|
return out;
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, RegistryMessageKind kind) {
|
|
switch (kind) {
|
|
case RegistryMessageKind::ERROR:
|
|
out << "ERROR";
|
|
break;
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
out << "LOCAL_SHARDS";
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
out << "LOCAL_CDC";
|
|
break;
|
|
case RegistryMessageKind::INFO:
|
|
out << "INFO";
|
|
break;
|
|
case RegistryMessageKind::REGISTRY:
|
|
out << "REGISTRY";
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
out << "LOCAL_CHANGED_BLOCK_SERVICES";
|
|
break;
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
out << "CREATE_LOCATION";
|
|
break;
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
out << "RENAME_LOCATION";
|
|
break;
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
out << "REGISTER_SHARD";
|
|
break;
|
|
case RegistryMessageKind::LOCATIONS:
|
|
out << "LOCATIONS";
|
|
break;
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
out << "REGISTER_CDC";
|
|
break;
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
out << "SET_BLOCK_SERVICE_FLAGS";
|
|
break;
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
out << "REGISTER_BLOCK_SERVICES";
|
|
break;
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
out << "CHANGED_BLOCK_SERVICES_AT_LOCATION";
|
|
break;
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
out << "SHARDS_AT_LOCATION";
|
|
break;
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
out << "CDC_AT_LOCATION";
|
|
break;
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
out << "REGISTER_REGISTRY";
|
|
break;
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
out << "ALL_REGISTRY_REPLICAS";
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
out << "SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED";
|
|
break;
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
out << "CDC_REPLICAS_DE_PR_EC_AT_ED";
|
|
break;
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
out << "ALL_SHARDS";
|
|
break;
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
out << "DECOMMISSION_BLOCK_SERVICE";
|
|
break;
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
out << "MOVE_SHARD_LEADER";
|
|
break;
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
out << "CLEAR_SHARD_INFO";
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
out << "SHARD_BLOCK_SERVICES";
|
|
break;
|
|
case RegistryMessageKind::ALL_CDC:
|
|
out << "ALL_CDC";
|
|
break;
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
out << "ERASE_DECOMMISSIONED_BLOCK";
|
|
break;
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
out << "ALL_BLOCK_SERVICES_DEPRECATED";
|
|
break;
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
out << "MOVE_CDC_LEADER";
|
|
break;
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
out << "CLEAR_CDC_INFO";
|
|
break;
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
out << "UPDATE_BLOCK_SERVICE_PATH";
|
|
break;
|
|
case RegistryMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
out << "RegistryMessageKind(" << ((int)kind) << ")";
|
|
break;
|
|
}
|
|
return out;
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, BlocksMessageKind kind) {
|
|
switch (kind) {
|
|
case BlocksMessageKind::ERROR:
|
|
out << "ERROR";
|
|
break;
|
|
case BlocksMessageKind::FETCH_BLOCK:
|
|
out << "FETCH_BLOCK";
|
|
break;
|
|
case BlocksMessageKind::WRITE_BLOCK:
|
|
out << "WRITE_BLOCK";
|
|
break;
|
|
case BlocksMessageKind::FETCH_BLOCK_WITH_CRC:
|
|
out << "FETCH_BLOCK_WITH_CRC";
|
|
break;
|
|
case BlocksMessageKind::ERASE_BLOCK:
|
|
out << "ERASE_BLOCK";
|
|
break;
|
|
case BlocksMessageKind::TEST_WRITE:
|
|
out << "TEST_WRITE";
|
|
break;
|
|
case BlocksMessageKind::CHECK_BLOCK:
|
|
out << "CHECK_BLOCK";
|
|
break;
|
|
case BlocksMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
out << "BlocksMessageKind(" << ((int)kind) << ")";
|
|
break;
|
|
}
|
|
return out;
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, LogMessageKind kind) {
|
|
switch (kind) {
|
|
case LogMessageKind::ERROR:
|
|
out << "ERROR";
|
|
break;
|
|
case LogMessageKind::LOG_WRITE:
|
|
out << "LOG_WRITE";
|
|
break;
|
|
case LogMessageKind::RELEASE:
|
|
out << "RELEASE";
|
|
break;
|
|
case LogMessageKind::LOG_READ:
|
|
out << "LOG_READ";
|
|
break;
|
|
case LogMessageKind::NEW_LEADER:
|
|
out << "NEW_LEADER";
|
|
break;
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
out << "NEW_LEADER_CONFIRM";
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
out << "LOG_RECOVERY_READ";
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
out << "LOG_RECOVERY_WRITE";
|
|
break;
|
|
case LogMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
out << "LogMessageKind(" << ((int)kind) << ")";
|
|
break;
|
|
}
|
|
return out;
|
|
}
|
|
|
|
void FailureDomain::pack(BincodeBuf& buf) const {
|
|
buf.packFixedBytes<16>(name);
|
|
}
|
|
void FailureDomain::unpack(BincodeBuf& buf) {
|
|
buf.unpackFixedBytes<16>(name);
|
|
}
|
|
void FailureDomain::clear() {
|
|
name.clear();
|
|
}
|
|
bool FailureDomain::operator==(const FailureDomain& rhs) const {
|
|
if (name != rhs.name) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FailureDomain& x) {
|
|
out << "FailureDomain(" << "Name=" << x.name << ")";
|
|
return out;
|
|
}
|
|
|
|
void DirectoryInfoEntry::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(tag);
|
|
buf.packBytes(body);
|
|
}
|
|
void DirectoryInfoEntry::unpack(BincodeBuf& buf) {
|
|
tag = buf.unpackScalar<uint8_t>();
|
|
buf.unpackBytes(body);
|
|
}
|
|
void DirectoryInfoEntry::clear() {
|
|
tag = uint8_t(0);
|
|
body.clear();
|
|
}
|
|
bool DirectoryInfoEntry::operator==(const DirectoryInfoEntry& rhs) const {
|
|
if ((uint8_t)this->tag != (uint8_t)rhs.tag) { return false; };
|
|
if (body != rhs.body) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const DirectoryInfoEntry& x) {
|
|
out << "DirectoryInfoEntry(" << "Tag=" << (int)x.tag << ", " << "Body=" << x.body << ")";
|
|
return out;
|
|
}
|
|
|
|
void DirectoryInfo::pack(BincodeBuf& buf) const {
|
|
buf.packList<DirectoryInfoEntry>(entries);
|
|
}
|
|
void DirectoryInfo::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<DirectoryInfoEntry>(entries);
|
|
}
|
|
void DirectoryInfo::clear() {
|
|
entries.clear();
|
|
}
|
|
bool DirectoryInfo::operator==(const DirectoryInfo& rhs) const {
|
|
if (entries != rhs.entries) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const DirectoryInfo& x) {
|
|
out << "DirectoryInfo(" << "Entries=" << x.entries << ")";
|
|
return out;
|
|
}
|
|
|
|
void CurrentEdge::pack(BincodeBuf& buf) const {
|
|
targetId.pack(buf);
|
|
buf.packScalar<uint64_t>(nameHash);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
}
|
|
void CurrentEdge::unpack(BincodeBuf& buf) {
|
|
targetId.unpack(buf);
|
|
nameHash = buf.unpackScalar<uint64_t>();
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void CurrentEdge::clear() {
|
|
targetId = InodeId();
|
|
nameHash = uint64_t(0);
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
}
|
|
bool CurrentEdge::operator==(const CurrentEdge& rhs) const {
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((uint64_t)this->nameHash != (uint64_t)rhs.nameHash) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CurrentEdge& x) {
|
|
out << "CurrentEdge(" << "TargetId=" << x.targetId << ", " << "NameHash=" << x.nameHash << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanInitiateBlockInfo::pack(BincodeBuf& buf) const {
|
|
blockServiceAddrs.pack(buf);
|
|
blockServiceId.pack(buf);
|
|
blockServiceFailureDomain.pack(buf);
|
|
buf.packScalar<uint64_t>(blockId);
|
|
buf.packFixedBytes<8>(certificate);
|
|
}
|
|
void AddSpanInitiateBlockInfo::unpack(BincodeBuf& buf) {
|
|
blockServiceAddrs.unpack(buf);
|
|
blockServiceId.unpack(buf);
|
|
blockServiceFailureDomain.unpack(buf);
|
|
blockId = buf.unpackScalar<uint64_t>();
|
|
buf.unpackFixedBytes<8>(certificate);
|
|
}
|
|
void AddSpanInitiateBlockInfo::clear() {
|
|
blockServiceAddrs.clear();
|
|
blockServiceId = BlockServiceId(0);
|
|
blockServiceFailureDomain.clear();
|
|
blockId = uint64_t(0);
|
|
certificate.clear();
|
|
}
|
|
bool AddSpanInitiateBlockInfo::operator==(const AddSpanInitiateBlockInfo& rhs) const {
|
|
if (blockServiceAddrs != rhs.blockServiceAddrs) { return false; };
|
|
if ((BlockServiceId)this->blockServiceId != (BlockServiceId)rhs.blockServiceId) { return false; };
|
|
if (blockServiceFailureDomain != rhs.blockServiceFailureDomain) { return false; };
|
|
if ((uint64_t)this->blockId != (uint64_t)rhs.blockId) { return false; };
|
|
if (certificate != rhs.certificate) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanInitiateBlockInfo& x) {
|
|
out << "AddSpanInitiateBlockInfo(" << "BlockServiceAddrs=" << x.blockServiceAddrs << ", " << "BlockServiceId=" << x.blockServiceId << ", " << "BlockServiceFailureDomain=" << x.blockServiceFailureDomain << ", " << "BlockId=" << x.blockId << ", " << "Certificate=" << x.certificate << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveSpanInitiateBlockInfo::pack(BincodeBuf& buf) const {
|
|
blockServiceAddrs.pack(buf);
|
|
blockServiceId.pack(buf);
|
|
blockServiceFailureDomain.pack(buf);
|
|
buf.packScalar<BlockServiceFlags>(blockServiceFlags);
|
|
buf.packScalar<uint64_t>(blockId);
|
|
buf.packFixedBytes<8>(certificate);
|
|
}
|
|
void RemoveSpanInitiateBlockInfo::unpack(BincodeBuf& buf) {
|
|
blockServiceAddrs.unpack(buf);
|
|
blockServiceId.unpack(buf);
|
|
blockServiceFailureDomain.unpack(buf);
|
|
blockServiceFlags = buf.unpackScalar<BlockServiceFlags>();
|
|
blockId = buf.unpackScalar<uint64_t>();
|
|
buf.unpackFixedBytes<8>(certificate);
|
|
}
|
|
void RemoveSpanInitiateBlockInfo::clear() {
|
|
blockServiceAddrs.clear();
|
|
blockServiceId = BlockServiceId(0);
|
|
blockServiceFailureDomain.clear();
|
|
blockServiceFlags = BlockServiceFlags(0);
|
|
blockId = uint64_t(0);
|
|
certificate.clear();
|
|
}
|
|
bool RemoveSpanInitiateBlockInfo::operator==(const RemoveSpanInitiateBlockInfo& rhs) const {
|
|
if (blockServiceAddrs != rhs.blockServiceAddrs) { return false; };
|
|
if ((BlockServiceId)this->blockServiceId != (BlockServiceId)rhs.blockServiceId) { return false; };
|
|
if (blockServiceFailureDomain != rhs.blockServiceFailureDomain) { return false; };
|
|
if ((BlockServiceFlags)this->blockServiceFlags != (BlockServiceFlags)rhs.blockServiceFlags) { return false; };
|
|
if ((uint64_t)this->blockId != (uint64_t)rhs.blockId) { return false; };
|
|
if (certificate != rhs.certificate) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveSpanInitiateBlockInfo& x) {
|
|
out << "RemoveSpanInitiateBlockInfo(" << "BlockServiceAddrs=" << x.blockServiceAddrs << ", " << "BlockServiceId=" << x.blockServiceId << ", " << "BlockServiceFailureDomain=" << x.blockServiceFailureDomain << ", " << "BlockServiceFlags=" << x.blockServiceFlags << ", " << "BlockId=" << x.blockId << ", " << "Certificate=" << x.certificate << ")";
|
|
return out;
|
|
}
|
|
|
|
void BlockProof::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(blockId);
|
|
buf.packFixedBytes<8>(proof);
|
|
}
|
|
void BlockProof::unpack(BincodeBuf& buf) {
|
|
blockId = buf.unpackScalar<uint64_t>();
|
|
buf.unpackFixedBytes<8>(proof);
|
|
}
|
|
void BlockProof::clear() {
|
|
blockId = uint64_t(0);
|
|
proof.clear();
|
|
}
|
|
bool BlockProof::operator==(const BlockProof& rhs) const {
|
|
if ((uint64_t)this->blockId != (uint64_t)rhs.blockId) { return false; };
|
|
if (proof != rhs.proof) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const BlockProof& x) {
|
|
out << "BlockProof(" << "BlockId=" << x.blockId << ", " << "Proof=" << x.proof << ")";
|
|
return out;
|
|
}
|
|
|
|
void BlockService::pack(BincodeBuf& buf) const {
|
|
addrs.pack(buf);
|
|
id.pack(buf);
|
|
buf.packScalar<BlockServiceFlags>(flags);
|
|
}
|
|
void BlockService::unpack(BincodeBuf& buf) {
|
|
addrs.unpack(buf);
|
|
id.unpack(buf);
|
|
flags = buf.unpackScalar<BlockServiceFlags>();
|
|
}
|
|
void BlockService::clear() {
|
|
addrs.clear();
|
|
id = BlockServiceId(0);
|
|
flags = BlockServiceFlags(0);
|
|
}
|
|
bool BlockService::operator==(const BlockService& rhs) const {
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((BlockServiceId)this->id != (BlockServiceId)rhs.id) { return false; };
|
|
if ((BlockServiceFlags)this->flags != (BlockServiceFlags)rhs.flags) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const BlockService& x) {
|
|
out << "BlockService(" << "Addrs=" << x.addrs << ", " << "Id=" << x.id << ", " << "Flags=" << x.flags << ")";
|
|
return out;
|
|
}
|
|
|
|
void ShardInfo::pack(BincodeBuf& buf) const {
|
|
addrs.pack(buf);
|
|
lastSeen.pack(buf);
|
|
}
|
|
void ShardInfo::unpack(BincodeBuf& buf) {
|
|
addrs.unpack(buf);
|
|
lastSeen.unpack(buf);
|
|
}
|
|
void ShardInfo::clear() {
|
|
addrs.clear();
|
|
lastSeen = TernTime();
|
|
}
|
|
bool ShardInfo::operator==(const ShardInfo& rhs) const {
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((TernTime)this->lastSeen != (TernTime)rhs.lastSeen) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ShardInfo& x) {
|
|
out << "ShardInfo(" << "Addrs=" << x.addrs << ", " << "LastSeen=" << x.lastSeen << ")";
|
|
return out;
|
|
}
|
|
|
|
void BlockPolicyEntry::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
buf.packScalar<uint32_t>(minSize);
|
|
}
|
|
void BlockPolicyEntry::unpack(BincodeBuf& buf) {
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
minSize = buf.unpackScalar<uint32_t>();
|
|
}
|
|
void BlockPolicyEntry::clear() {
|
|
storageClass = uint8_t(0);
|
|
minSize = uint32_t(0);
|
|
}
|
|
bool BlockPolicyEntry::operator==(const BlockPolicyEntry& rhs) const {
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
if ((uint32_t)this->minSize != (uint32_t)rhs.minSize) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const BlockPolicyEntry& x) {
|
|
out << "BlockPolicyEntry(" << "StorageClass=" << (int)x.storageClass << ", " << "MinSize=" << x.minSize << ")";
|
|
return out;
|
|
}
|
|
|
|
void SpanPolicyEntry::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint32_t>(maxSize);
|
|
parity.pack(buf);
|
|
}
|
|
void SpanPolicyEntry::unpack(BincodeBuf& buf) {
|
|
maxSize = buf.unpackScalar<uint32_t>();
|
|
parity.unpack(buf);
|
|
}
|
|
void SpanPolicyEntry::clear() {
|
|
maxSize = uint32_t(0);
|
|
parity = Parity();
|
|
}
|
|
bool SpanPolicyEntry::operator==(const SpanPolicyEntry& rhs) const {
|
|
if ((uint32_t)this->maxSize != (uint32_t)rhs.maxSize) { return false; };
|
|
if ((Parity)this->parity != (Parity)rhs.parity) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SpanPolicyEntry& x) {
|
|
out << "SpanPolicyEntry(" << "MaxSize=" << x.maxSize << ", " << "Parity=" << x.parity << ")";
|
|
return out;
|
|
}
|
|
|
|
void StripePolicy::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint32_t>(targetStripeSize);
|
|
}
|
|
void StripePolicy::unpack(BincodeBuf& buf) {
|
|
targetStripeSize = buf.unpackScalar<uint32_t>();
|
|
}
|
|
void StripePolicy::clear() {
|
|
targetStripeSize = uint32_t(0);
|
|
}
|
|
bool StripePolicy::operator==(const StripePolicy& rhs) const {
|
|
if ((uint32_t)this->targetStripeSize != (uint32_t)rhs.targetStripeSize) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const StripePolicy& x) {
|
|
out << "StripePolicy(" << "TargetStripeSize=" << x.targetStripeSize << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchedBlock::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(blockServiceIx);
|
|
buf.packScalar<uint64_t>(blockId);
|
|
crc.pack(buf);
|
|
}
|
|
void FetchedBlock::unpack(BincodeBuf& buf) {
|
|
blockServiceIx = buf.unpackScalar<uint8_t>();
|
|
blockId = buf.unpackScalar<uint64_t>();
|
|
crc.unpack(buf);
|
|
}
|
|
void FetchedBlock::clear() {
|
|
blockServiceIx = uint8_t(0);
|
|
blockId = uint64_t(0);
|
|
crc = Crc(0);
|
|
}
|
|
bool FetchedBlock::operator==(const FetchedBlock& rhs) const {
|
|
if ((uint8_t)this->blockServiceIx != (uint8_t)rhs.blockServiceIx) { return false; };
|
|
if ((uint64_t)this->blockId != (uint64_t)rhs.blockId) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchedBlock& x) {
|
|
out << "FetchedBlock(" << "BlockServiceIx=" << (int)x.blockServiceIx << ", " << "BlockId=" << x.blockId << ", " << "Crc=" << x.crc << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchedSpanHeader::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packScalar<uint32_t>(size);
|
|
crc.pack(buf);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
}
|
|
void FetchedSpanHeader::unpack(BincodeBuf& buf) {
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
size = buf.unpackScalar<uint32_t>();
|
|
crc.unpack(buf);
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void FetchedSpanHeader::clear() {
|
|
byteOffset = uint64_t(0);
|
|
size = uint32_t(0);
|
|
crc = Crc(0);
|
|
storageClass = uint8_t(0);
|
|
}
|
|
bool FetchedSpanHeader::operator==(const FetchedSpanHeader& rhs) const {
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if ((uint32_t)this->size != (uint32_t)rhs.size) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchedSpanHeader& x) {
|
|
out << "FetchedSpanHeader(" << "ByteOffset=" << x.byteOffset << ", " << "Size=" << x.size << ", " << "Crc=" << x.crc << ", " << "StorageClass=" << (int)x.storageClass << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchedInlineSpan::pack(BincodeBuf& buf) const {
|
|
buf.packBytes(body);
|
|
}
|
|
void FetchedInlineSpan::unpack(BincodeBuf& buf) {
|
|
buf.unpackBytes(body);
|
|
}
|
|
void FetchedInlineSpan::clear() {
|
|
body.clear();
|
|
}
|
|
bool FetchedInlineSpan::operator==(const FetchedInlineSpan& rhs) const {
|
|
if (body != rhs.body) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchedInlineSpan& x) {
|
|
out << "FetchedInlineSpan(" << "Body=" << x.body << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchedBlocksSpan::pack(BincodeBuf& buf) const {
|
|
parity.pack(buf);
|
|
buf.packScalar<uint8_t>(stripes);
|
|
buf.packScalar<uint32_t>(cellSize);
|
|
buf.packList<FetchedBlock>(blocks);
|
|
buf.packList<Crc>(stripesCrc);
|
|
}
|
|
void FetchedBlocksSpan::unpack(BincodeBuf& buf) {
|
|
parity.unpack(buf);
|
|
stripes = buf.unpackScalar<uint8_t>();
|
|
cellSize = buf.unpackScalar<uint32_t>();
|
|
buf.unpackList<FetchedBlock>(blocks);
|
|
buf.unpackList<Crc>(stripesCrc);
|
|
}
|
|
void FetchedBlocksSpan::clear() {
|
|
parity = Parity();
|
|
stripes = uint8_t(0);
|
|
cellSize = uint32_t(0);
|
|
blocks.clear();
|
|
stripesCrc.clear();
|
|
}
|
|
bool FetchedBlocksSpan::operator==(const FetchedBlocksSpan& rhs) const {
|
|
if ((Parity)this->parity != (Parity)rhs.parity) { return false; };
|
|
if ((uint8_t)this->stripes != (uint8_t)rhs.stripes) { return false; };
|
|
if ((uint32_t)this->cellSize != (uint32_t)rhs.cellSize) { return false; };
|
|
if (blocks != rhs.blocks) { return false; };
|
|
if (stripesCrc != rhs.stripesCrc) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchedBlocksSpan& x) {
|
|
out << "FetchedBlocksSpan(" << "Parity=" << x.parity << ", " << "Stripes=" << (int)x.stripes << ", " << "CellSize=" << x.cellSize << ", " << "Blocks=" << x.blocks << ", " << "StripesCrc=" << x.stripesCrc << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchedBlockServices::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(locationId);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
parity.pack(buf);
|
|
buf.packScalar<uint8_t>(stripes);
|
|
buf.packScalar<uint32_t>(cellSize);
|
|
buf.packList<FetchedBlock>(blocks);
|
|
buf.packList<Crc>(stripesCrc);
|
|
}
|
|
void FetchedBlockServices::unpack(BincodeBuf& buf) {
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
parity.unpack(buf);
|
|
stripes = buf.unpackScalar<uint8_t>();
|
|
cellSize = buf.unpackScalar<uint32_t>();
|
|
buf.unpackList<FetchedBlock>(blocks);
|
|
buf.unpackList<Crc>(stripesCrc);
|
|
}
|
|
void FetchedBlockServices::clear() {
|
|
locationId = uint8_t(0);
|
|
storageClass = uint8_t(0);
|
|
parity = Parity();
|
|
stripes = uint8_t(0);
|
|
cellSize = uint32_t(0);
|
|
blocks.clear();
|
|
stripesCrc.clear();
|
|
}
|
|
bool FetchedBlockServices::operator==(const FetchedBlockServices& rhs) const {
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
if ((Parity)this->parity != (Parity)rhs.parity) { return false; };
|
|
if ((uint8_t)this->stripes != (uint8_t)rhs.stripes) { return false; };
|
|
if ((uint32_t)this->cellSize != (uint32_t)rhs.cellSize) { return false; };
|
|
if (blocks != rhs.blocks) { return false; };
|
|
if (stripesCrc != rhs.stripesCrc) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchedBlockServices& x) {
|
|
out << "FetchedBlockServices(" << "LocationId=" << (int)x.locationId << ", " << "StorageClass=" << (int)x.storageClass << ", " << "Parity=" << x.parity << ", " << "Stripes=" << (int)x.stripes << ", " << "CellSize=" << x.cellSize << ", " << "Blocks=" << x.blocks << ", " << "StripesCrc=" << x.stripesCrc << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchedLocations::pack(BincodeBuf& buf) const {
|
|
buf.packList<FetchedBlockServices>(locations);
|
|
}
|
|
void FetchedLocations::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<FetchedBlockServices>(locations);
|
|
}
|
|
void FetchedLocations::clear() {
|
|
locations.clear();
|
|
}
|
|
bool FetchedLocations::operator==(const FetchedLocations& rhs) const {
|
|
if (locations != rhs.locations) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchedLocations& x) {
|
|
out << "FetchedLocations(" << "Locations=" << x.locations << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchedSpanHeaderFull::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packScalar<uint32_t>(size);
|
|
crc.pack(buf);
|
|
buf.packScalar<bool>(isInline);
|
|
}
|
|
void FetchedSpanHeaderFull::unpack(BincodeBuf& buf) {
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
size = buf.unpackScalar<uint32_t>();
|
|
crc.unpack(buf);
|
|
isInline = buf.unpackScalar<bool>();
|
|
}
|
|
void FetchedSpanHeaderFull::clear() {
|
|
byteOffset = uint64_t(0);
|
|
size = uint32_t(0);
|
|
crc = Crc(0);
|
|
isInline = bool(0);
|
|
}
|
|
bool FetchedSpanHeaderFull::operator==(const FetchedSpanHeaderFull& rhs) const {
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if ((uint32_t)this->size != (uint32_t)rhs.size) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
if ((bool)this->isInline != (bool)rhs.isInline) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchedSpanHeaderFull& x) {
|
|
out << "FetchedSpanHeaderFull(" << "ByteOffset=" << x.byteOffset << ", " << "Size=" << x.size << ", " << "Crc=" << x.crc << ", " << "IsInline=" << x.isInline << ")";
|
|
return out;
|
|
}
|
|
|
|
void BlacklistEntry::pack(BincodeBuf& buf) const {
|
|
failureDomain.pack(buf);
|
|
blockService.pack(buf);
|
|
}
|
|
void BlacklistEntry::unpack(BincodeBuf& buf) {
|
|
failureDomain.unpack(buf);
|
|
blockService.unpack(buf);
|
|
}
|
|
void BlacklistEntry::clear() {
|
|
failureDomain.clear();
|
|
blockService = BlockServiceId(0);
|
|
}
|
|
bool BlacklistEntry::operator==(const BlacklistEntry& rhs) const {
|
|
if (failureDomain != rhs.failureDomain) { return false; };
|
|
if ((BlockServiceId)this->blockService != (BlockServiceId)rhs.blockService) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const BlacklistEntry& x) {
|
|
out << "BlacklistEntry(" << "FailureDomain=" << x.failureDomain << ", " << "BlockService=" << x.blockService << ")";
|
|
return out;
|
|
}
|
|
|
|
void Edge::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<bool>(current);
|
|
targetId.pack(buf);
|
|
buf.packScalar<uint64_t>(nameHash);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
}
|
|
void Edge::unpack(BincodeBuf& buf) {
|
|
current = buf.unpackScalar<bool>();
|
|
targetId.unpack(buf);
|
|
nameHash = buf.unpackScalar<uint64_t>();
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void Edge::clear() {
|
|
current = bool(0);
|
|
targetId = InodeIdExtra();
|
|
nameHash = uint64_t(0);
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
}
|
|
bool Edge::operator==(const Edge& rhs) const {
|
|
if ((bool)this->current != (bool)rhs.current) { return false; };
|
|
if ((InodeIdExtra)this->targetId != (InodeIdExtra)rhs.targetId) { return false; };
|
|
if ((uint64_t)this->nameHash != (uint64_t)rhs.nameHash) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const Edge& x) {
|
|
out << "Edge(" << "Current=" << x.current << ", " << "TargetId=" << x.targetId << ", " << "NameHash=" << x.nameHash << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void FullReadDirCursor::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<bool>(current);
|
|
buf.packBytes(startName);
|
|
startTime.pack(buf);
|
|
}
|
|
void FullReadDirCursor::unpack(BincodeBuf& buf) {
|
|
current = buf.unpackScalar<bool>();
|
|
buf.unpackBytes(startName);
|
|
startTime.unpack(buf);
|
|
}
|
|
void FullReadDirCursor::clear() {
|
|
current = bool(0);
|
|
startName.clear();
|
|
startTime = TernTime();
|
|
}
|
|
bool FullReadDirCursor::operator==(const FullReadDirCursor& rhs) const {
|
|
if ((bool)this->current != (bool)rhs.current) { return false; };
|
|
if (startName != rhs.startName) { return false; };
|
|
if ((TernTime)this->startTime != (TernTime)rhs.startTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FullReadDirCursor& x) {
|
|
out << "FullReadDirCursor(" << "Current=" << x.current << ", " << "StartName=" << GoLangQuotedStringFmt(x.startName.data(), x.startName.size()) << ", " << "StartTime=" << x.startTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void FullRegistryInfo::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packScalar<uint8_t>(locationId);
|
|
buf.packScalar<bool>(isLeader);
|
|
addrs.pack(buf);
|
|
lastSeen.pack(buf);
|
|
}
|
|
void FullRegistryInfo::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
isLeader = buf.unpackScalar<bool>();
|
|
addrs.unpack(buf);
|
|
lastSeen.unpack(buf);
|
|
}
|
|
void FullRegistryInfo::clear() {
|
|
id = ReplicaId();
|
|
locationId = uint8_t(0);
|
|
isLeader = bool(0);
|
|
addrs.clear();
|
|
lastSeen = TernTime();
|
|
}
|
|
bool FullRegistryInfo::operator==(const FullRegistryInfo& rhs) const {
|
|
if ((ReplicaId)this->id != (ReplicaId)rhs.id) { return false; };
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
if ((bool)this->isLeader != (bool)rhs.isLeader) { return false; };
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((TernTime)this->lastSeen != (TernTime)rhs.lastSeen) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FullRegistryInfo& x) {
|
|
out << "FullRegistryInfo(" << "Id=" << x.id << ", " << "LocationId=" << (int)x.locationId << ", " << "IsLeader=" << x.isLeader << ", " << "Addrs=" << x.addrs << ", " << "LastSeen=" << x.lastSeen << ")";
|
|
return out;
|
|
}
|
|
|
|
void TransientFile::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packFixedBytes<8>(cookie);
|
|
deadlineTime.pack(buf);
|
|
}
|
|
void TransientFile::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
buf.unpackFixedBytes<8>(cookie);
|
|
deadlineTime.unpack(buf);
|
|
}
|
|
void TransientFile::clear() {
|
|
id = InodeId();
|
|
cookie.clear();
|
|
deadlineTime = TernTime();
|
|
}
|
|
bool TransientFile::operator==(const TransientFile& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if (cookie != rhs.cookie) { return false; };
|
|
if ((TernTime)this->deadlineTime != (TernTime)rhs.deadlineTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const TransientFile& x) {
|
|
out << "TransientFile(" << "Id=" << x.id << ", " << "Cookie=" << x.cookie << ", " << "DeadlineTime=" << x.deadlineTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void EntryNewBlockInfo::pack(BincodeBuf& buf) const {
|
|
blockServiceId.pack(buf);
|
|
crc.pack(buf);
|
|
}
|
|
void EntryNewBlockInfo::unpack(BincodeBuf& buf) {
|
|
blockServiceId.unpack(buf);
|
|
crc.unpack(buf);
|
|
}
|
|
void EntryNewBlockInfo::clear() {
|
|
blockServiceId = BlockServiceId(0);
|
|
crc = Crc(0);
|
|
}
|
|
bool EntryNewBlockInfo::operator==(const EntryNewBlockInfo& rhs) const {
|
|
if ((BlockServiceId)this->blockServiceId != (BlockServiceId)rhs.blockServiceId) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const EntryNewBlockInfo& x) {
|
|
out << "EntryNewBlockInfo(" << "BlockServiceId=" << x.blockServiceId << ", " << "Crc=" << x.crc << ")";
|
|
return out;
|
|
}
|
|
|
|
void BlockServiceDeprecatedInfo::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
addrs.pack(buf);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
failureDomain.pack(buf);
|
|
buf.packFixedBytes<16>(secretKey);
|
|
buf.packScalar<BlockServiceFlags>(flags);
|
|
buf.packScalar<uint64_t>(capacityBytes);
|
|
buf.packScalar<uint64_t>(availableBytes);
|
|
buf.packScalar<uint64_t>(blocks);
|
|
buf.packBytes(path);
|
|
lastSeen.pack(buf);
|
|
buf.packScalar<bool>(hasFiles);
|
|
flagsLastChanged.pack(buf);
|
|
}
|
|
void BlockServiceDeprecatedInfo::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
addrs.unpack(buf);
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
failureDomain.unpack(buf);
|
|
buf.unpackFixedBytes<16>(secretKey);
|
|
flags = buf.unpackScalar<BlockServiceFlags>();
|
|
capacityBytes = buf.unpackScalar<uint64_t>();
|
|
availableBytes = buf.unpackScalar<uint64_t>();
|
|
blocks = buf.unpackScalar<uint64_t>();
|
|
buf.unpackBytes(path);
|
|
lastSeen.unpack(buf);
|
|
hasFiles = buf.unpackScalar<bool>();
|
|
flagsLastChanged.unpack(buf);
|
|
}
|
|
void BlockServiceDeprecatedInfo::clear() {
|
|
id = BlockServiceId(0);
|
|
addrs.clear();
|
|
storageClass = uint8_t(0);
|
|
failureDomain.clear();
|
|
secretKey.clear();
|
|
flags = BlockServiceFlags(0);
|
|
capacityBytes = uint64_t(0);
|
|
availableBytes = uint64_t(0);
|
|
blocks = uint64_t(0);
|
|
path.clear();
|
|
lastSeen = TernTime();
|
|
hasFiles = bool(0);
|
|
flagsLastChanged = TernTime();
|
|
}
|
|
bool BlockServiceDeprecatedInfo::operator==(const BlockServiceDeprecatedInfo& rhs) const {
|
|
if ((BlockServiceId)this->id != (BlockServiceId)rhs.id) { return false; };
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
if (failureDomain != rhs.failureDomain) { return false; };
|
|
if (secretKey != rhs.secretKey) { return false; };
|
|
if ((BlockServiceFlags)this->flags != (BlockServiceFlags)rhs.flags) { return false; };
|
|
if ((uint64_t)this->capacityBytes != (uint64_t)rhs.capacityBytes) { return false; };
|
|
if ((uint64_t)this->availableBytes != (uint64_t)rhs.availableBytes) { return false; };
|
|
if ((uint64_t)this->blocks != (uint64_t)rhs.blocks) { return false; };
|
|
if (path != rhs.path) { return false; };
|
|
if ((TernTime)this->lastSeen != (TernTime)rhs.lastSeen) { return false; };
|
|
if ((bool)this->hasFiles != (bool)rhs.hasFiles) { return false; };
|
|
if ((TernTime)this->flagsLastChanged != (TernTime)rhs.flagsLastChanged) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const BlockServiceDeprecatedInfo& x) {
|
|
out << "BlockServiceDeprecatedInfo(" << "Id=" << x.id << ", " << "Addrs=" << x.addrs << ", " << "StorageClass=" << (int)x.storageClass << ", " << "FailureDomain=" << x.failureDomain << ", " << "SecretKey=" << x.secretKey << ", " << "Flags=" << x.flags << ", " << "CapacityBytes=" << x.capacityBytes << ", " << "AvailableBytes=" << x.availableBytes << ", " << "Blocks=" << x.blocks << ", " << "Path=" << GoLangQuotedStringFmt(x.path.data(), x.path.size()) << ", " << "LastSeen=" << x.lastSeen << ", " << "HasFiles=" << x.hasFiles << ", " << "FlagsLastChanged=" << x.flagsLastChanged << ")";
|
|
return out;
|
|
}
|
|
|
|
void BlockServiceInfoShort::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(locationId);
|
|
failureDomain.pack(buf);
|
|
id.pack(buf);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
}
|
|
void BlockServiceInfoShort::unpack(BincodeBuf& buf) {
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
failureDomain.unpack(buf);
|
|
id.unpack(buf);
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void BlockServiceInfoShort::clear() {
|
|
locationId = uint8_t(0);
|
|
failureDomain.clear();
|
|
id = BlockServiceId(0);
|
|
storageClass = uint8_t(0);
|
|
}
|
|
bool BlockServiceInfoShort::operator==(const BlockServiceInfoShort& rhs) const {
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
if (failureDomain != rhs.failureDomain) { return false; };
|
|
if ((BlockServiceId)this->id != (BlockServiceId)rhs.id) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const BlockServiceInfoShort& x) {
|
|
out << "BlockServiceInfoShort(" << "LocationId=" << (int)x.locationId << ", " << "FailureDomain=" << x.failureDomain << ", " << "Id=" << x.id << ", " << "StorageClass=" << (int)x.storageClass << ")";
|
|
return out;
|
|
}
|
|
|
|
void SpanPolicy::pack(BincodeBuf& buf) const {
|
|
buf.packList<SpanPolicyEntry>(entries);
|
|
}
|
|
void SpanPolicy::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<SpanPolicyEntry>(entries);
|
|
}
|
|
void SpanPolicy::clear() {
|
|
entries.clear();
|
|
}
|
|
bool SpanPolicy::operator==(const SpanPolicy& rhs) const {
|
|
if (entries != rhs.entries) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SpanPolicy& x) {
|
|
out << "SpanPolicy(" << "Entries=" << x.entries << ")";
|
|
return out;
|
|
}
|
|
|
|
void BlockPolicy::pack(BincodeBuf& buf) const {
|
|
buf.packList<BlockPolicyEntry>(entries);
|
|
}
|
|
void BlockPolicy::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<BlockPolicyEntry>(entries);
|
|
}
|
|
void BlockPolicy::clear() {
|
|
entries.clear();
|
|
}
|
|
bool BlockPolicy::operator==(const BlockPolicy& rhs) const {
|
|
if (entries != rhs.entries) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const BlockPolicy& x) {
|
|
out << "BlockPolicy(" << "Entries=" << x.entries << ")";
|
|
return out;
|
|
}
|
|
|
|
void SnapshotPolicy::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(deleteAfterTime);
|
|
buf.packScalar<uint16_t>(deleteAfterVersions);
|
|
}
|
|
void SnapshotPolicy::unpack(BincodeBuf& buf) {
|
|
deleteAfterTime = buf.unpackScalar<uint64_t>();
|
|
deleteAfterVersions = buf.unpackScalar<uint16_t>();
|
|
}
|
|
void SnapshotPolicy::clear() {
|
|
deleteAfterTime = uint64_t(0);
|
|
deleteAfterVersions = uint16_t(0);
|
|
}
|
|
bool SnapshotPolicy::operator==(const SnapshotPolicy& rhs) const {
|
|
if ((uint64_t)this->deleteAfterTime != (uint64_t)rhs.deleteAfterTime) { return false; };
|
|
if ((uint16_t)this->deleteAfterVersions != (uint16_t)rhs.deleteAfterVersions) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SnapshotPolicy& x) {
|
|
out << "SnapshotPolicy(" << "DeleteAfterTime=" << x.deleteAfterTime << ", " << "DeleteAfterVersions=" << x.deleteAfterVersions << ")";
|
|
return out;
|
|
}
|
|
|
|
void FullShardInfo::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packScalar<bool>(isLeader);
|
|
addrs.pack(buf);
|
|
lastSeen.pack(buf);
|
|
buf.packScalar<uint8_t>(locationId);
|
|
}
|
|
void FullShardInfo::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
isLeader = buf.unpackScalar<bool>();
|
|
addrs.unpack(buf);
|
|
lastSeen.unpack(buf);
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void FullShardInfo::clear() {
|
|
id = ShardReplicaId();
|
|
isLeader = bool(0);
|
|
addrs.clear();
|
|
lastSeen = TernTime();
|
|
locationId = uint8_t(0);
|
|
}
|
|
bool FullShardInfo::operator==(const FullShardInfo& rhs) const {
|
|
if ((ShardReplicaId)this->id != (ShardReplicaId)rhs.id) { return false; };
|
|
if ((bool)this->isLeader != (bool)rhs.isLeader) { return false; };
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((TernTime)this->lastSeen != (TernTime)rhs.lastSeen) { return false; };
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FullShardInfo& x) {
|
|
out << "FullShardInfo(" << "Id=" << x.id << ", " << "IsLeader=" << x.isLeader << ", " << "Addrs=" << x.addrs << ", " << "LastSeen=" << x.lastSeen << ", " << "LocationId=" << (int)x.locationId << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegisterBlockServiceInfo::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packScalar<uint8_t>(locationId);
|
|
addrs.pack(buf);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
failureDomain.pack(buf);
|
|
buf.packFixedBytes<16>(secretKey);
|
|
buf.packScalar<BlockServiceFlags>(flags);
|
|
buf.packScalar<uint8_t>(flagsMask);
|
|
buf.packScalar<uint64_t>(capacityBytes);
|
|
buf.packScalar<uint64_t>(availableBytes);
|
|
buf.packScalar<uint64_t>(blocks);
|
|
buf.packBytes(path);
|
|
}
|
|
void RegisterBlockServiceInfo::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
addrs.unpack(buf);
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
failureDomain.unpack(buf);
|
|
buf.unpackFixedBytes<16>(secretKey);
|
|
flags = buf.unpackScalar<BlockServiceFlags>();
|
|
flagsMask = buf.unpackScalar<uint8_t>();
|
|
capacityBytes = buf.unpackScalar<uint64_t>();
|
|
availableBytes = buf.unpackScalar<uint64_t>();
|
|
blocks = buf.unpackScalar<uint64_t>();
|
|
buf.unpackBytes(path);
|
|
}
|
|
void RegisterBlockServiceInfo::clear() {
|
|
id = BlockServiceId(0);
|
|
locationId = uint8_t(0);
|
|
addrs.clear();
|
|
storageClass = uint8_t(0);
|
|
failureDomain.clear();
|
|
secretKey.clear();
|
|
flags = BlockServiceFlags(0);
|
|
flagsMask = uint8_t(0);
|
|
capacityBytes = uint64_t(0);
|
|
availableBytes = uint64_t(0);
|
|
blocks = uint64_t(0);
|
|
path.clear();
|
|
}
|
|
bool RegisterBlockServiceInfo::operator==(const RegisterBlockServiceInfo& rhs) const {
|
|
if ((BlockServiceId)this->id != (BlockServiceId)rhs.id) { return false; };
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
if (failureDomain != rhs.failureDomain) { return false; };
|
|
if (secretKey != rhs.secretKey) { return false; };
|
|
if ((BlockServiceFlags)this->flags != (BlockServiceFlags)rhs.flags) { return false; };
|
|
if ((uint8_t)this->flagsMask != (uint8_t)rhs.flagsMask) { return false; };
|
|
if ((uint64_t)this->capacityBytes != (uint64_t)rhs.capacityBytes) { return false; };
|
|
if ((uint64_t)this->availableBytes != (uint64_t)rhs.availableBytes) { return false; };
|
|
if ((uint64_t)this->blocks != (uint64_t)rhs.blocks) { return false; };
|
|
if (path != rhs.path) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegisterBlockServiceInfo& x) {
|
|
out << "RegisterBlockServiceInfo(" << "Id=" << x.id << ", " << "LocationId=" << (int)x.locationId << ", " << "Addrs=" << x.addrs << ", " << "StorageClass=" << (int)x.storageClass << ", " << "FailureDomain=" << x.failureDomain << ", " << "SecretKey=" << x.secretKey << ", " << "Flags=" << x.flags << ", " << "FlagsMask=" << (int)x.flagsMask << ", " << "CapacityBytes=" << x.capacityBytes << ", " << "AvailableBytes=" << x.availableBytes << ", " << "Blocks=" << x.blocks << ", " << "Path=" << GoLangQuotedStringFmt(x.path.data(), x.path.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void FullBlockServiceInfo::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packScalar<uint8_t>(locationId);
|
|
addrs.pack(buf);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
failureDomain.pack(buf);
|
|
buf.packFixedBytes<16>(secretKey);
|
|
buf.packScalar<BlockServiceFlags>(flags);
|
|
buf.packScalar<uint64_t>(capacityBytes);
|
|
buf.packScalar<uint64_t>(availableBytes);
|
|
buf.packScalar<uint64_t>(blocks);
|
|
firstSeen.pack(buf);
|
|
lastSeen.pack(buf);
|
|
lastInfoChange.pack(buf);
|
|
buf.packScalar<bool>(hasFiles);
|
|
buf.packBytes(path);
|
|
}
|
|
void FullBlockServiceInfo::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
addrs.unpack(buf);
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
failureDomain.unpack(buf);
|
|
buf.unpackFixedBytes<16>(secretKey);
|
|
flags = buf.unpackScalar<BlockServiceFlags>();
|
|
capacityBytes = buf.unpackScalar<uint64_t>();
|
|
availableBytes = buf.unpackScalar<uint64_t>();
|
|
blocks = buf.unpackScalar<uint64_t>();
|
|
firstSeen.unpack(buf);
|
|
lastSeen.unpack(buf);
|
|
lastInfoChange.unpack(buf);
|
|
hasFiles = buf.unpackScalar<bool>();
|
|
buf.unpackBytes(path);
|
|
}
|
|
void FullBlockServiceInfo::clear() {
|
|
id = BlockServiceId(0);
|
|
locationId = uint8_t(0);
|
|
addrs.clear();
|
|
storageClass = uint8_t(0);
|
|
failureDomain.clear();
|
|
secretKey.clear();
|
|
flags = BlockServiceFlags(0);
|
|
capacityBytes = uint64_t(0);
|
|
availableBytes = uint64_t(0);
|
|
blocks = uint64_t(0);
|
|
firstSeen = TernTime();
|
|
lastSeen = TernTime();
|
|
lastInfoChange = TernTime();
|
|
hasFiles = bool(0);
|
|
path.clear();
|
|
}
|
|
bool FullBlockServiceInfo::operator==(const FullBlockServiceInfo& rhs) const {
|
|
if ((BlockServiceId)this->id != (BlockServiceId)rhs.id) { return false; };
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
if (failureDomain != rhs.failureDomain) { return false; };
|
|
if (secretKey != rhs.secretKey) { return false; };
|
|
if ((BlockServiceFlags)this->flags != (BlockServiceFlags)rhs.flags) { return false; };
|
|
if ((uint64_t)this->capacityBytes != (uint64_t)rhs.capacityBytes) { return false; };
|
|
if ((uint64_t)this->availableBytes != (uint64_t)rhs.availableBytes) { return false; };
|
|
if ((uint64_t)this->blocks != (uint64_t)rhs.blocks) { return false; };
|
|
if ((TernTime)this->firstSeen != (TernTime)rhs.firstSeen) { return false; };
|
|
if ((TernTime)this->lastSeen != (TernTime)rhs.lastSeen) { return false; };
|
|
if ((TernTime)this->lastInfoChange != (TernTime)rhs.lastInfoChange) { return false; };
|
|
if ((bool)this->hasFiles != (bool)rhs.hasFiles) { return false; };
|
|
if (path != rhs.path) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FullBlockServiceInfo& x) {
|
|
out << "FullBlockServiceInfo(" << "Id=" << x.id << ", " << "LocationId=" << (int)x.locationId << ", " << "Addrs=" << x.addrs << ", " << "StorageClass=" << (int)x.storageClass << ", " << "FailureDomain=" << x.failureDomain << ", " << "SecretKey=" << x.secretKey << ", " << "Flags=" << x.flags << ", " << "CapacityBytes=" << x.capacityBytes << ", " << "AvailableBytes=" << x.availableBytes << ", " << "Blocks=" << x.blocks << ", " << "FirstSeen=" << x.firstSeen << ", " << "LastSeen=" << x.lastSeen << ", " << "LastInfoChange=" << x.lastInfoChange << ", " << "HasFiles=" << x.hasFiles << ", " << "Path=" << GoLangQuotedStringFmt(x.path.data(), x.path.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void CdcInfo::pack(BincodeBuf& buf) const {
|
|
replicaId.pack(buf);
|
|
buf.packScalar<uint8_t>(locationId);
|
|
buf.packScalar<bool>(isLeader);
|
|
addrs.pack(buf);
|
|
lastSeen.pack(buf);
|
|
}
|
|
void CdcInfo::unpack(BincodeBuf& buf) {
|
|
replicaId.unpack(buf);
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
isLeader = buf.unpackScalar<bool>();
|
|
addrs.unpack(buf);
|
|
lastSeen.unpack(buf);
|
|
}
|
|
void CdcInfo::clear() {
|
|
replicaId = ReplicaId();
|
|
locationId = uint8_t(0);
|
|
isLeader = bool(0);
|
|
addrs.clear();
|
|
lastSeen = TernTime();
|
|
}
|
|
bool CdcInfo::operator==(const CdcInfo& rhs) const {
|
|
if ((ReplicaId)this->replicaId != (ReplicaId)rhs.replicaId) { return false; };
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
if ((bool)this->isLeader != (bool)rhs.isLeader) { return false; };
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((TernTime)this->lastSeen != (TernTime)rhs.lastSeen) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CdcInfo& x) {
|
|
out << "CdcInfo(" << "ReplicaId=" << x.replicaId << ", " << "LocationId=" << (int)x.locationId << ", " << "IsLeader=" << x.isLeader << ", " << "Addrs=" << x.addrs << ", " << "LastSeen=" << x.lastSeen << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocationInfo::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(id);
|
|
buf.packBytes(name);
|
|
}
|
|
void LocationInfo::unpack(BincodeBuf& buf) {
|
|
id = buf.unpackScalar<uint8_t>();
|
|
buf.unpackBytes(name);
|
|
}
|
|
void LocationInfo::clear() {
|
|
id = uint8_t(0);
|
|
name.clear();
|
|
}
|
|
bool LocationInfo::operator==(const LocationInfo& rhs) const {
|
|
if ((uint8_t)this->id != (uint8_t)rhs.id) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocationInfo& x) {
|
|
out << "LocationInfo(" << "Id=" << (int)x.id << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void LookupReq::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
buf.packBytes(name);
|
|
}
|
|
void LookupReq::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
}
|
|
void LookupReq::clear() {
|
|
dirId = InodeId();
|
|
name.clear();
|
|
}
|
|
bool LookupReq::operator==(const LookupReq& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LookupReq& x) {
|
|
out << "LookupReq(" << "DirId=" << x.dirId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void LookupResp::pack(BincodeBuf& buf) const {
|
|
targetId.pack(buf);
|
|
creationTime.pack(buf);
|
|
}
|
|
void LookupResp::unpack(BincodeBuf& buf) {
|
|
targetId.unpack(buf);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void LookupResp::clear() {
|
|
targetId = InodeId();
|
|
creationTime = TernTime();
|
|
}
|
|
bool LookupResp::operator==(const LookupResp& rhs) const {
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LookupResp& x) {
|
|
out << "LookupResp(" << "TargetId=" << x.targetId << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void StatFileReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
}
|
|
void StatFileReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
}
|
|
void StatFileReq::clear() {
|
|
id = InodeId();
|
|
}
|
|
bool StatFileReq::operator==(const StatFileReq& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const StatFileReq& x) {
|
|
out << "StatFileReq(" << "Id=" << x.id << ")";
|
|
return out;
|
|
}
|
|
|
|
void StatFileResp::pack(BincodeBuf& buf) const {
|
|
mtime.pack(buf);
|
|
atime.pack(buf);
|
|
buf.packScalar<uint64_t>(size);
|
|
}
|
|
void StatFileResp::unpack(BincodeBuf& buf) {
|
|
mtime.unpack(buf);
|
|
atime.unpack(buf);
|
|
size = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void StatFileResp::clear() {
|
|
mtime = TernTime();
|
|
atime = TernTime();
|
|
size = uint64_t(0);
|
|
}
|
|
bool StatFileResp::operator==(const StatFileResp& rhs) const {
|
|
if ((TernTime)this->mtime != (TernTime)rhs.mtime) { return false; };
|
|
if ((TernTime)this->atime != (TernTime)rhs.atime) { return false; };
|
|
if ((uint64_t)this->size != (uint64_t)rhs.size) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const StatFileResp& x) {
|
|
out << "StatFileResp(" << "Mtime=" << x.mtime << ", " << "Atime=" << x.atime << ", " << "Size=" << x.size << ")";
|
|
return out;
|
|
}
|
|
|
|
void StatDirectoryReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
}
|
|
void StatDirectoryReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
}
|
|
void StatDirectoryReq::clear() {
|
|
id = InodeId();
|
|
}
|
|
bool StatDirectoryReq::operator==(const StatDirectoryReq& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const StatDirectoryReq& x) {
|
|
out << "StatDirectoryReq(" << "Id=" << x.id << ")";
|
|
return out;
|
|
}
|
|
|
|
void StatDirectoryResp::pack(BincodeBuf& buf) const {
|
|
mtime.pack(buf);
|
|
owner.pack(buf);
|
|
info.pack(buf);
|
|
}
|
|
void StatDirectoryResp::unpack(BincodeBuf& buf) {
|
|
mtime.unpack(buf);
|
|
owner.unpack(buf);
|
|
info.unpack(buf);
|
|
}
|
|
void StatDirectoryResp::clear() {
|
|
mtime = TernTime();
|
|
owner = InodeId();
|
|
info.clear();
|
|
}
|
|
bool StatDirectoryResp::operator==(const StatDirectoryResp& rhs) const {
|
|
if ((TernTime)this->mtime != (TernTime)rhs.mtime) { return false; };
|
|
if ((InodeId)this->owner != (InodeId)rhs.owner) { return false; };
|
|
if (info != rhs.info) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const StatDirectoryResp& x) {
|
|
out << "StatDirectoryResp(" << "Mtime=" << x.mtime << ", " << "Owner=" << x.owner << ", " << "Info=" << x.info << ")";
|
|
return out;
|
|
}
|
|
|
|
void ReadDirReq::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
buf.packScalar<uint64_t>(startHash);
|
|
buf.packScalar<uint16_t>(mtu);
|
|
}
|
|
void ReadDirReq::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
startHash = buf.unpackScalar<uint64_t>();
|
|
mtu = buf.unpackScalar<uint16_t>();
|
|
}
|
|
void ReadDirReq::clear() {
|
|
dirId = InodeId();
|
|
startHash = uint64_t(0);
|
|
mtu = uint16_t(0);
|
|
}
|
|
bool ReadDirReq::operator==(const ReadDirReq& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if ((uint64_t)this->startHash != (uint64_t)rhs.startHash) { return false; };
|
|
if ((uint16_t)this->mtu != (uint16_t)rhs.mtu) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ReadDirReq& x) {
|
|
out << "ReadDirReq(" << "DirId=" << x.dirId << ", " << "StartHash=" << x.startHash << ", " << "Mtu=" << x.mtu << ")";
|
|
return out;
|
|
}
|
|
|
|
void ReadDirResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(nextHash);
|
|
buf.packList<CurrentEdge>(results);
|
|
}
|
|
void ReadDirResp::unpack(BincodeBuf& buf) {
|
|
nextHash = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<CurrentEdge>(results);
|
|
}
|
|
void ReadDirResp::clear() {
|
|
nextHash = uint64_t(0);
|
|
results.clear();
|
|
}
|
|
bool ReadDirResp::operator==(const ReadDirResp& rhs) const {
|
|
if ((uint64_t)this->nextHash != (uint64_t)rhs.nextHash) { return false; };
|
|
if (results != rhs.results) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ReadDirResp& x) {
|
|
out << "ReadDirResp(" << "NextHash=" << x.nextHash << ", " << "Results=" << x.results << ")";
|
|
return out;
|
|
}
|
|
|
|
void ConstructFileReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(type);
|
|
buf.packBytes(note);
|
|
}
|
|
void ConstructFileReq::unpack(BincodeBuf& buf) {
|
|
type = buf.unpackScalar<uint8_t>();
|
|
buf.unpackBytes(note);
|
|
}
|
|
void ConstructFileReq::clear() {
|
|
type = uint8_t(0);
|
|
note.clear();
|
|
}
|
|
bool ConstructFileReq::operator==(const ConstructFileReq& rhs) const {
|
|
if ((uint8_t)this->type != (uint8_t)rhs.type) { return false; };
|
|
if (note != rhs.note) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ConstructFileReq& x) {
|
|
out << "ConstructFileReq(" << "Type=" << (int)x.type << ", " << "Note=" << GoLangQuotedStringFmt(x.note.data(), x.note.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void ConstructFileResp::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packFixedBytes<8>(cookie);
|
|
}
|
|
void ConstructFileResp::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
buf.unpackFixedBytes<8>(cookie);
|
|
}
|
|
void ConstructFileResp::clear() {
|
|
id = InodeId();
|
|
cookie.clear();
|
|
}
|
|
bool ConstructFileResp::operator==(const ConstructFileResp& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if (cookie != rhs.cookie) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ConstructFileResp& x) {
|
|
out << "ConstructFileResp(" << "Id=" << x.id << ", " << "Cookie=" << x.cookie << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanInitiateReq::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packFixedBytes<8>(cookie);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packScalar<uint32_t>(size);
|
|
crc.pack(buf);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
buf.packList<BlacklistEntry>(blacklist);
|
|
parity.pack(buf);
|
|
buf.packScalar<uint8_t>(stripes);
|
|
buf.packScalar<uint32_t>(cellSize);
|
|
buf.packList<Crc>(crcs);
|
|
}
|
|
void AddSpanInitiateReq::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
buf.unpackFixedBytes<8>(cookie);
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
size = buf.unpackScalar<uint32_t>();
|
|
crc.unpack(buf);
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
buf.unpackList<BlacklistEntry>(blacklist);
|
|
parity.unpack(buf);
|
|
stripes = buf.unpackScalar<uint8_t>();
|
|
cellSize = buf.unpackScalar<uint32_t>();
|
|
buf.unpackList<Crc>(crcs);
|
|
}
|
|
void AddSpanInitiateReq::clear() {
|
|
fileId = InodeId();
|
|
cookie.clear();
|
|
byteOffset = uint64_t(0);
|
|
size = uint32_t(0);
|
|
crc = Crc(0);
|
|
storageClass = uint8_t(0);
|
|
blacklist.clear();
|
|
parity = Parity();
|
|
stripes = uint8_t(0);
|
|
cellSize = uint32_t(0);
|
|
crcs.clear();
|
|
}
|
|
bool AddSpanInitiateReq::operator==(const AddSpanInitiateReq& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if (cookie != rhs.cookie) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if ((uint32_t)this->size != (uint32_t)rhs.size) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
if (blacklist != rhs.blacklist) { return false; };
|
|
if ((Parity)this->parity != (Parity)rhs.parity) { return false; };
|
|
if ((uint8_t)this->stripes != (uint8_t)rhs.stripes) { return false; };
|
|
if ((uint32_t)this->cellSize != (uint32_t)rhs.cellSize) { return false; };
|
|
if (crcs != rhs.crcs) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanInitiateReq& x) {
|
|
out << "AddSpanInitiateReq(" << "FileId=" << x.fileId << ", " << "Cookie=" << x.cookie << ", " << "ByteOffset=" << x.byteOffset << ", " << "Size=" << x.size << ", " << "Crc=" << x.crc << ", " << "StorageClass=" << (int)x.storageClass << ", " << "Blacklist=" << x.blacklist << ", " << "Parity=" << x.parity << ", " << "Stripes=" << (int)x.stripes << ", " << "CellSize=" << x.cellSize << ", " << "Crcs=" << x.crcs << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanInitiateResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<AddSpanInitiateBlockInfo>(blocks);
|
|
}
|
|
void AddSpanInitiateResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<AddSpanInitiateBlockInfo>(blocks);
|
|
}
|
|
void AddSpanInitiateResp::clear() {
|
|
blocks.clear();
|
|
}
|
|
bool AddSpanInitiateResp::operator==(const AddSpanInitiateResp& rhs) const {
|
|
if (blocks != rhs.blocks) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanInitiateResp& x) {
|
|
out << "AddSpanInitiateResp(" << "Blocks=" << x.blocks << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanCertifyReq::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packFixedBytes<8>(cookie);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packList<BlockProof>(proofs);
|
|
}
|
|
void AddSpanCertifyReq::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
buf.unpackFixedBytes<8>(cookie);
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<BlockProof>(proofs);
|
|
}
|
|
void AddSpanCertifyReq::clear() {
|
|
fileId = InodeId();
|
|
cookie.clear();
|
|
byteOffset = uint64_t(0);
|
|
proofs.clear();
|
|
}
|
|
bool AddSpanCertifyReq::operator==(const AddSpanCertifyReq& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if (cookie != rhs.cookie) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if (proofs != rhs.proofs) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanCertifyReq& x) {
|
|
out << "AddSpanCertifyReq(" << "FileId=" << x.fileId << ", " << "Cookie=" << x.cookie << ", " << "ByteOffset=" << x.byteOffset << ", " << "Proofs=" << x.proofs << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanCertifyResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void AddSpanCertifyResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void AddSpanCertifyResp::clear() {
|
|
}
|
|
bool AddSpanCertifyResp::operator==(const AddSpanCertifyResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanCertifyResp& x) {
|
|
out << "AddSpanCertifyResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void LinkFileReq::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packFixedBytes<8>(cookie);
|
|
ownerId.pack(buf);
|
|
buf.packBytes(name);
|
|
}
|
|
void LinkFileReq::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
buf.unpackFixedBytes<8>(cookie);
|
|
ownerId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
}
|
|
void LinkFileReq::clear() {
|
|
fileId = InodeId();
|
|
cookie.clear();
|
|
ownerId = InodeId();
|
|
name.clear();
|
|
}
|
|
bool LinkFileReq::operator==(const LinkFileReq& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if (cookie != rhs.cookie) { return false; };
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LinkFileReq& x) {
|
|
out << "LinkFileReq(" << "FileId=" << x.fileId << ", " << "Cookie=" << x.cookie << ", " << "OwnerId=" << x.ownerId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void LinkFileResp::pack(BincodeBuf& buf) const {
|
|
creationTime.pack(buf);
|
|
}
|
|
void LinkFileResp::unpack(BincodeBuf& buf) {
|
|
creationTime.unpack(buf);
|
|
}
|
|
void LinkFileResp::clear() {
|
|
creationTime = TernTime();
|
|
}
|
|
bool LinkFileResp::operator==(const LinkFileResp& rhs) const {
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LinkFileResp& x) {
|
|
out << "LinkFileResp(" << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void SoftUnlinkFileReq::pack(BincodeBuf& buf) const {
|
|
ownerId.pack(buf);
|
|
fileId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
}
|
|
void SoftUnlinkFileReq::unpack(BincodeBuf& buf) {
|
|
ownerId.unpack(buf);
|
|
fileId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void SoftUnlinkFileReq::clear() {
|
|
ownerId = InodeId();
|
|
fileId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
}
|
|
bool SoftUnlinkFileReq::operator==(const SoftUnlinkFileReq& rhs) const {
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SoftUnlinkFileReq& x) {
|
|
out << "SoftUnlinkFileReq(" << "OwnerId=" << x.ownerId << ", " << "FileId=" << x.fileId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void SoftUnlinkFileResp::pack(BincodeBuf& buf) const {
|
|
deleteCreationTime.pack(buf);
|
|
}
|
|
void SoftUnlinkFileResp::unpack(BincodeBuf& buf) {
|
|
deleteCreationTime.unpack(buf);
|
|
}
|
|
void SoftUnlinkFileResp::clear() {
|
|
deleteCreationTime = TernTime();
|
|
}
|
|
bool SoftUnlinkFileResp::operator==(const SoftUnlinkFileResp& rhs) const {
|
|
if ((TernTime)this->deleteCreationTime != (TernTime)rhs.deleteCreationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SoftUnlinkFileResp& x) {
|
|
out << "SoftUnlinkFileResp(" << "DeleteCreationTime=" << x.deleteCreationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocalFileSpansReq::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packScalar<uint32_t>(limit);
|
|
buf.packScalar<uint16_t>(mtu);
|
|
}
|
|
void LocalFileSpansReq::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
limit = buf.unpackScalar<uint32_t>();
|
|
mtu = buf.unpackScalar<uint16_t>();
|
|
}
|
|
void LocalFileSpansReq::clear() {
|
|
fileId = InodeId();
|
|
byteOffset = uint64_t(0);
|
|
limit = uint32_t(0);
|
|
mtu = uint16_t(0);
|
|
}
|
|
bool LocalFileSpansReq::operator==(const LocalFileSpansReq& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if ((uint32_t)this->limit != (uint32_t)rhs.limit) { return false; };
|
|
if ((uint16_t)this->mtu != (uint16_t)rhs.mtu) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocalFileSpansReq& x) {
|
|
out << "LocalFileSpansReq(" << "FileId=" << x.fileId << ", " << "ByteOffset=" << x.byteOffset << ", " << "Limit=" << x.limit << ", " << "Mtu=" << x.mtu << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocalFileSpansResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(nextOffset);
|
|
buf.packList<BlockService>(blockServices);
|
|
buf.packList<FetchedSpan>(spans);
|
|
}
|
|
void LocalFileSpansResp::unpack(BincodeBuf& buf) {
|
|
nextOffset = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<BlockService>(blockServices);
|
|
buf.unpackList<FetchedSpan>(spans);
|
|
}
|
|
void LocalFileSpansResp::clear() {
|
|
nextOffset = uint64_t(0);
|
|
blockServices.clear();
|
|
spans.clear();
|
|
}
|
|
bool LocalFileSpansResp::operator==(const LocalFileSpansResp& rhs) const {
|
|
if ((uint64_t)this->nextOffset != (uint64_t)rhs.nextOffset) { return false; };
|
|
if (blockServices != rhs.blockServices) { return false; };
|
|
if (spans != rhs.spans) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocalFileSpansResp& x) {
|
|
out << "LocalFileSpansResp(" << "NextOffset=" << x.nextOffset << ", " << "BlockServices=" << x.blockServices << ", " << "Spans=" << x.spans << ")";
|
|
return out;
|
|
}
|
|
|
|
void SameDirectoryRenameReq::pack(BincodeBuf& buf) const {
|
|
targetId.pack(buf);
|
|
dirId.pack(buf);
|
|
buf.packBytes(oldName);
|
|
oldCreationTime.pack(buf);
|
|
buf.packBytes(newName);
|
|
}
|
|
void SameDirectoryRenameReq::unpack(BincodeBuf& buf) {
|
|
targetId.unpack(buf);
|
|
dirId.unpack(buf);
|
|
buf.unpackBytes(oldName);
|
|
oldCreationTime.unpack(buf);
|
|
buf.unpackBytes(newName);
|
|
}
|
|
void SameDirectoryRenameReq::clear() {
|
|
targetId = InodeId();
|
|
dirId = InodeId();
|
|
oldName.clear();
|
|
oldCreationTime = TernTime();
|
|
newName.clear();
|
|
}
|
|
bool SameDirectoryRenameReq::operator==(const SameDirectoryRenameReq& rhs) const {
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (oldName != rhs.oldName) { return false; };
|
|
if ((TernTime)this->oldCreationTime != (TernTime)rhs.oldCreationTime) { return false; };
|
|
if (newName != rhs.newName) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SameDirectoryRenameReq& x) {
|
|
out << "SameDirectoryRenameReq(" << "TargetId=" << x.targetId << ", " << "DirId=" << x.dirId << ", " << "OldName=" << GoLangQuotedStringFmt(x.oldName.data(), x.oldName.size()) << ", " << "OldCreationTime=" << x.oldCreationTime << ", " << "NewName=" << GoLangQuotedStringFmt(x.newName.data(), x.newName.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void SameDirectoryRenameResp::pack(BincodeBuf& buf) const {
|
|
newCreationTime.pack(buf);
|
|
}
|
|
void SameDirectoryRenameResp::unpack(BincodeBuf& buf) {
|
|
newCreationTime.unpack(buf);
|
|
}
|
|
void SameDirectoryRenameResp::clear() {
|
|
newCreationTime = TernTime();
|
|
}
|
|
bool SameDirectoryRenameResp::operator==(const SameDirectoryRenameResp& rhs) const {
|
|
if ((TernTime)this->newCreationTime != (TernTime)rhs.newCreationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SameDirectoryRenameResp& x) {
|
|
out << "SameDirectoryRenameResp(" << "NewCreationTime=" << x.newCreationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddInlineSpanReq::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packFixedBytes<8>(cookie);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packScalar<uint32_t>(size);
|
|
crc.pack(buf);
|
|
buf.packBytes(body);
|
|
}
|
|
void AddInlineSpanReq::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
buf.unpackFixedBytes<8>(cookie);
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
size = buf.unpackScalar<uint32_t>();
|
|
crc.unpack(buf);
|
|
buf.unpackBytes(body);
|
|
}
|
|
void AddInlineSpanReq::clear() {
|
|
fileId = InodeId();
|
|
cookie.clear();
|
|
storageClass = uint8_t(0);
|
|
byteOffset = uint64_t(0);
|
|
size = uint32_t(0);
|
|
crc = Crc(0);
|
|
body.clear();
|
|
}
|
|
bool AddInlineSpanReq::operator==(const AddInlineSpanReq& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if (cookie != rhs.cookie) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if ((uint32_t)this->size != (uint32_t)rhs.size) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
if (body != rhs.body) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddInlineSpanReq& x) {
|
|
out << "AddInlineSpanReq(" << "FileId=" << x.fileId << ", " << "Cookie=" << x.cookie << ", " << "StorageClass=" << (int)x.storageClass << ", " << "ByteOffset=" << x.byteOffset << ", " << "Size=" << x.size << ", " << "Crc=" << x.crc << ", " << "Body=" << x.body << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddInlineSpanResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void AddInlineSpanResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void AddInlineSpanResp::clear() {
|
|
}
|
|
bool AddInlineSpanResp::operator==(const AddInlineSpanResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddInlineSpanResp& x) {
|
|
out << "AddInlineSpanResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetTimeReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packScalar<uint64_t>(mtime);
|
|
buf.packScalar<uint64_t>(atime);
|
|
}
|
|
void SetTimeReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
mtime = buf.unpackScalar<uint64_t>();
|
|
atime = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void SetTimeReq::clear() {
|
|
id = InodeId();
|
|
mtime = uint64_t(0);
|
|
atime = uint64_t(0);
|
|
}
|
|
bool SetTimeReq::operator==(const SetTimeReq& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if ((uint64_t)this->mtime != (uint64_t)rhs.mtime) { return false; };
|
|
if ((uint64_t)this->atime != (uint64_t)rhs.atime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetTimeReq& x) {
|
|
out << "SetTimeReq(" << "Id=" << x.id << ", " << "Mtime=" << x.mtime << ", " << "Atime=" << x.atime << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetTimeResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void SetTimeResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void SetTimeResp::clear() {
|
|
}
|
|
bool SetTimeResp::operator==(const SetTimeResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetTimeResp& x) {
|
|
out << "SetTimeResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void FullReadDirReq::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
buf.packScalar<uint8_t>(flags);
|
|
buf.packBytes(startName);
|
|
startTime.pack(buf);
|
|
buf.packScalar<uint16_t>(limit);
|
|
buf.packScalar<uint16_t>(mtu);
|
|
}
|
|
void FullReadDirReq::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
flags = buf.unpackScalar<uint8_t>();
|
|
buf.unpackBytes(startName);
|
|
startTime.unpack(buf);
|
|
limit = buf.unpackScalar<uint16_t>();
|
|
mtu = buf.unpackScalar<uint16_t>();
|
|
}
|
|
void FullReadDirReq::clear() {
|
|
dirId = InodeId();
|
|
flags = uint8_t(0);
|
|
startName.clear();
|
|
startTime = TernTime();
|
|
limit = uint16_t(0);
|
|
mtu = uint16_t(0);
|
|
}
|
|
bool FullReadDirReq::operator==(const FullReadDirReq& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if ((uint8_t)this->flags != (uint8_t)rhs.flags) { return false; };
|
|
if (startName != rhs.startName) { return false; };
|
|
if ((TernTime)this->startTime != (TernTime)rhs.startTime) { return false; };
|
|
if ((uint16_t)this->limit != (uint16_t)rhs.limit) { return false; };
|
|
if ((uint16_t)this->mtu != (uint16_t)rhs.mtu) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FullReadDirReq& x) {
|
|
out << "FullReadDirReq(" << "DirId=" << x.dirId << ", " << "Flags=" << (int)x.flags << ", " << "StartName=" << GoLangQuotedStringFmt(x.startName.data(), x.startName.size()) << ", " << "StartTime=" << x.startTime << ", " << "Limit=" << x.limit << ", " << "Mtu=" << x.mtu << ")";
|
|
return out;
|
|
}
|
|
|
|
void FullReadDirResp::pack(BincodeBuf& buf) const {
|
|
next.pack(buf);
|
|
buf.packList<Edge>(results);
|
|
}
|
|
void FullReadDirResp::unpack(BincodeBuf& buf) {
|
|
next.unpack(buf);
|
|
buf.unpackList<Edge>(results);
|
|
}
|
|
void FullReadDirResp::clear() {
|
|
next.clear();
|
|
results.clear();
|
|
}
|
|
bool FullReadDirResp::operator==(const FullReadDirResp& rhs) const {
|
|
if (next != rhs.next) { return false; };
|
|
if (results != rhs.results) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FullReadDirResp& x) {
|
|
out << "FullReadDirResp(" << "Next=" << x.next << ", " << "Results=" << x.results << ")";
|
|
return out;
|
|
}
|
|
|
|
void MoveSpanReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint32_t>(spanSize);
|
|
fileId1.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset1);
|
|
buf.packFixedBytes<8>(cookie1);
|
|
fileId2.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset2);
|
|
buf.packFixedBytes<8>(cookie2);
|
|
}
|
|
void MoveSpanReq::unpack(BincodeBuf& buf) {
|
|
spanSize = buf.unpackScalar<uint32_t>();
|
|
fileId1.unpack(buf);
|
|
byteOffset1 = buf.unpackScalar<uint64_t>();
|
|
buf.unpackFixedBytes<8>(cookie1);
|
|
fileId2.unpack(buf);
|
|
byteOffset2 = buf.unpackScalar<uint64_t>();
|
|
buf.unpackFixedBytes<8>(cookie2);
|
|
}
|
|
void MoveSpanReq::clear() {
|
|
spanSize = uint32_t(0);
|
|
fileId1 = InodeId();
|
|
byteOffset1 = uint64_t(0);
|
|
cookie1.clear();
|
|
fileId2 = InodeId();
|
|
byteOffset2 = uint64_t(0);
|
|
cookie2.clear();
|
|
}
|
|
bool MoveSpanReq::operator==(const MoveSpanReq& rhs) const {
|
|
if ((uint32_t)this->spanSize != (uint32_t)rhs.spanSize) { return false; };
|
|
if ((InodeId)this->fileId1 != (InodeId)rhs.fileId1) { return false; };
|
|
if ((uint64_t)this->byteOffset1 != (uint64_t)rhs.byteOffset1) { return false; };
|
|
if (cookie1 != rhs.cookie1) { return false; };
|
|
if ((InodeId)this->fileId2 != (InodeId)rhs.fileId2) { return false; };
|
|
if ((uint64_t)this->byteOffset2 != (uint64_t)rhs.byteOffset2) { return false; };
|
|
if (cookie2 != rhs.cookie2) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MoveSpanReq& x) {
|
|
out << "MoveSpanReq(" << "SpanSize=" << x.spanSize << ", " << "FileId1=" << x.fileId1 << ", " << "ByteOffset1=" << x.byteOffset1 << ", " << "Cookie1=" << x.cookie1 << ", " << "FileId2=" << x.fileId2 << ", " << "ByteOffset2=" << x.byteOffset2 << ", " << "Cookie2=" << x.cookie2 << ")";
|
|
return out;
|
|
}
|
|
|
|
void MoveSpanResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void MoveSpanResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void MoveSpanResp::clear() {
|
|
}
|
|
bool MoveSpanResp::operator==(const MoveSpanResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MoveSpanResp& x) {
|
|
out << "MoveSpanResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveNonOwnedEdgeReq::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
}
|
|
void RemoveNonOwnedEdgeReq::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void RemoveNonOwnedEdgeReq::clear() {
|
|
dirId = InodeId();
|
|
targetId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
}
|
|
bool RemoveNonOwnedEdgeReq::operator==(const RemoveNonOwnedEdgeReq& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveNonOwnedEdgeReq& x) {
|
|
out << "RemoveNonOwnedEdgeReq(" << "DirId=" << x.dirId << ", " << "TargetId=" << x.targetId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveNonOwnedEdgeResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RemoveNonOwnedEdgeResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RemoveNonOwnedEdgeResp::clear() {
|
|
}
|
|
bool RemoveNonOwnedEdgeResp::operator==(const RemoveNonOwnedEdgeResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveNonOwnedEdgeResp& x) {
|
|
out << "RemoveNonOwnedEdgeResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void SameShardHardFileUnlinkReq::pack(BincodeBuf& buf) const {
|
|
ownerId.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
}
|
|
void SameShardHardFileUnlinkReq::unpack(BincodeBuf& buf) {
|
|
ownerId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void SameShardHardFileUnlinkReq::clear() {
|
|
ownerId = InodeId();
|
|
targetId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
}
|
|
bool SameShardHardFileUnlinkReq::operator==(const SameShardHardFileUnlinkReq& rhs) const {
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SameShardHardFileUnlinkReq& x) {
|
|
out << "SameShardHardFileUnlinkReq(" << "OwnerId=" << x.ownerId << ", " << "TargetId=" << x.targetId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void SameShardHardFileUnlinkResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void SameShardHardFileUnlinkResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void SameShardHardFileUnlinkResp::clear() {
|
|
}
|
|
bool SameShardHardFileUnlinkResp::operator==(const SameShardHardFileUnlinkResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SameShardHardFileUnlinkResp& x) {
|
|
out << "SameShardHardFileUnlinkResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void StatTransientFileReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
}
|
|
void StatTransientFileReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
}
|
|
void StatTransientFileReq::clear() {
|
|
id = InodeId();
|
|
}
|
|
bool StatTransientFileReq::operator==(const StatTransientFileReq& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const StatTransientFileReq& x) {
|
|
out << "StatTransientFileReq(" << "Id=" << x.id << ")";
|
|
return out;
|
|
}
|
|
|
|
void StatTransientFileResp::pack(BincodeBuf& buf) const {
|
|
mtime.pack(buf);
|
|
buf.packScalar<uint64_t>(size);
|
|
buf.packBytes(note);
|
|
}
|
|
void StatTransientFileResp::unpack(BincodeBuf& buf) {
|
|
mtime.unpack(buf);
|
|
size = buf.unpackScalar<uint64_t>();
|
|
buf.unpackBytes(note);
|
|
}
|
|
void StatTransientFileResp::clear() {
|
|
mtime = TernTime();
|
|
size = uint64_t(0);
|
|
note.clear();
|
|
}
|
|
bool StatTransientFileResp::operator==(const StatTransientFileResp& rhs) const {
|
|
if ((TernTime)this->mtime != (TernTime)rhs.mtime) { return false; };
|
|
if ((uint64_t)this->size != (uint64_t)rhs.size) { return false; };
|
|
if (note != rhs.note) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const StatTransientFileResp& x) {
|
|
out << "StatTransientFileResp(" << "Mtime=" << x.mtime << ", " << "Size=" << x.size << ", " << "Note=" << GoLangQuotedStringFmt(x.note.data(), x.note.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void ShardSnapshotReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(snapshotId);
|
|
}
|
|
void ShardSnapshotReq::unpack(BincodeBuf& buf) {
|
|
snapshotId = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void ShardSnapshotReq::clear() {
|
|
snapshotId = uint64_t(0);
|
|
}
|
|
bool ShardSnapshotReq::operator==(const ShardSnapshotReq& rhs) const {
|
|
if ((uint64_t)this->snapshotId != (uint64_t)rhs.snapshotId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ShardSnapshotReq& x) {
|
|
out << "ShardSnapshotReq(" << "SnapshotId=" << x.snapshotId << ")";
|
|
return out;
|
|
}
|
|
|
|
void ShardSnapshotResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void ShardSnapshotResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void ShardSnapshotResp::clear() {
|
|
}
|
|
bool ShardSnapshotResp::operator==(const ShardSnapshotResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ShardSnapshotResp& x) {
|
|
out << "ShardSnapshotResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void FileSpansReq::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packScalar<uint32_t>(limit);
|
|
buf.packScalar<uint16_t>(mtu);
|
|
}
|
|
void FileSpansReq::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
limit = buf.unpackScalar<uint32_t>();
|
|
mtu = buf.unpackScalar<uint16_t>();
|
|
}
|
|
void FileSpansReq::clear() {
|
|
fileId = InodeId();
|
|
byteOffset = uint64_t(0);
|
|
limit = uint32_t(0);
|
|
mtu = uint16_t(0);
|
|
}
|
|
bool FileSpansReq::operator==(const FileSpansReq& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if ((uint32_t)this->limit != (uint32_t)rhs.limit) { return false; };
|
|
if ((uint16_t)this->mtu != (uint16_t)rhs.mtu) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FileSpansReq& x) {
|
|
out << "FileSpansReq(" << "FileId=" << x.fileId << ", " << "ByteOffset=" << x.byteOffset << ", " << "Limit=" << x.limit << ", " << "Mtu=" << x.mtu << ")";
|
|
return out;
|
|
}
|
|
|
|
void FileSpansResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(nextOffset);
|
|
buf.packList<BlockService>(blockServices);
|
|
buf.packList<FetchedFullSpan>(spans);
|
|
}
|
|
void FileSpansResp::unpack(BincodeBuf& buf) {
|
|
nextOffset = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<BlockService>(blockServices);
|
|
buf.unpackList<FetchedFullSpan>(spans);
|
|
}
|
|
void FileSpansResp::clear() {
|
|
nextOffset = uint64_t(0);
|
|
blockServices.clear();
|
|
spans.clear();
|
|
}
|
|
bool FileSpansResp::operator==(const FileSpansResp& rhs) const {
|
|
if ((uint64_t)this->nextOffset != (uint64_t)rhs.nextOffset) { return false; };
|
|
if (blockServices != rhs.blockServices) { return false; };
|
|
if (spans != rhs.spans) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FileSpansResp& x) {
|
|
out << "FileSpansResp(" << "NextOffset=" << x.nextOffset << ", " << "BlockServices=" << x.blockServices << ", " << "Spans=" << x.spans << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanLocationReq::pack(BincodeBuf& buf) const {
|
|
fileId1.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset1);
|
|
buf.packList<uint64_t>(blocks1);
|
|
fileId2.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset2);
|
|
}
|
|
void AddSpanLocationReq::unpack(BincodeBuf& buf) {
|
|
fileId1.unpack(buf);
|
|
byteOffset1 = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<uint64_t>(blocks1);
|
|
fileId2.unpack(buf);
|
|
byteOffset2 = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void AddSpanLocationReq::clear() {
|
|
fileId1 = InodeId();
|
|
byteOffset1 = uint64_t(0);
|
|
blocks1.clear();
|
|
fileId2 = InodeId();
|
|
byteOffset2 = uint64_t(0);
|
|
}
|
|
bool AddSpanLocationReq::operator==(const AddSpanLocationReq& rhs) const {
|
|
if ((InodeId)this->fileId1 != (InodeId)rhs.fileId1) { return false; };
|
|
if ((uint64_t)this->byteOffset1 != (uint64_t)rhs.byteOffset1) { return false; };
|
|
if (blocks1 != rhs.blocks1) { return false; };
|
|
if ((InodeId)this->fileId2 != (InodeId)rhs.fileId2) { return false; };
|
|
if ((uint64_t)this->byteOffset2 != (uint64_t)rhs.byteOffset2) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanLocationReq& x) {
|
|
out << "AddSpanLocationReq(" << "FileId1=" << x.fileId1 << ", " << "ByteOffset1=" << x.byteOffset1 << ", " << "Blocks1=" << x.blocks1 << ", " << "FileId2=" << x.fileId2 << ", " << "ByteOffset2=" << x.byteOffset2 << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanLocationResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void AddSpanLocationResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void AddSpanLocationResp::clear() {
|
|
}
|
|
bool AddSpanLocationResp::operator==(const AddSpanLocationResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanLocationResp& x) {
|
|
out << "AddSpanLocationResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void ScrapTransientFileReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packFixedBytes<8>(cookie);
|
|
}
|
|
void ScrapTransientFileReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
buf.unpackFixedBytes<8>(cookie);
|
|
}
|
|
void ScrapTransientFileReq::clear() {
|
|
id = InodeId();
|
|
cookie.clear();
|
|
}
|
|
bool ScrapTransientFileReq::operator==(const ScrapTransientFileReq& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if (cookie != rhs.cookie) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ScrapTransientFileReq& x) {
|
|
out << "ScrapTransientFileReq(" << "Id=" << x.id << ", " << "Cookie=" << x.cookie << ")";
|
|
return out;
|
|
}
|
|
|
|
void ScrapTransientFileResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void ScrapTransientFileResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void ScrapTransientFileResp::clear() {
|
|
}
|
|
bool ScrapTransientFileResp::operator==(const ScrapTransientFileResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ScrapTransientFileResp& x) {
|
|
out << "ScrapTransientFileResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetDirectoryInfoReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
info.pack(buf);
|
|
}
|
|
void SetDirectoryInfoReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
info.unpack(buf);
|
|
}
|
|
void SetDirectoryInfoReq::clear() {
|
|
id = InodeId();
|
|
info.clear();
|
|
}
|
|
bool SetDirectoryInfoReq::operator==(const SetDirectoryInfoReq& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if (info != rhs.info) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetDirectoryInfoReq& x) {
|
|
out << "SetDirectoryInfoReq(" << "Id=" << x.id << ", " << "Info=" << x.info << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetDirectoryInfoResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void SetDirectoryInfoResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void SetDirectoryInfoResp::clear() {
|
|
}
|
|
bool SetDirectoryInfoResp::operator==(const SetDirectoryInfoResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetDirectoryInfoResp& x) {
|
|
out << "SetDirectoryInfoResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void VisitDirectoriesReq::pack(BincodeBuf& buf) const {
|
|
beginId.pack(buf);
|
|
buf.packScalar<uint16_t>(mtu);
|
|
}
|
|
void VisitDirectoriesReq::unpack(BincodeBuf& buf) {
|
|
beginId.unpack(buf);
|
|
mtu = buf.unpackScalar<uint16_t>();
|
|
}
|
|
void VisitDirectoriesReq::clear() {
|
|
beginId = InodeId();
|
|
mtu = uint16_t(0);
|
|
}
|
|
bool VisitDirectoriesReq::operator==(const VisitDirectoriesReq& rhs) const {
|
|
if ((InodeId)this->beginId != (InodeId)rhs.beginId) { return false; };
|
|
if ((uint16_t)this->mtu != (uint16_t)rhs.mtu) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const VisitDirectoriesReq& x) {
|
|
out << "VisitDirectoriesReq(" << "BeginId=" << x.beginId << ", " << "Mtu=" << x.mtu << ")";
|
|
return out;
|
|
}
|
|
|
|
void VisitDirectoriesResp::pack(BincodeBuf& buf) const {
|
|
nextId.pack(buf);
|
|
buf.packList<InodeId>(ids);
|
|
}
|
|
void VisitDirectoriesResp::unpack(BincodeBuf& buf) {
|
|
nextId.unpack(buf);
|
|
buf.unpackList<InodeId>(ids);
|
|
}
|
|
void VisitDirectoriesResp::clear() {
|
|
nextId = InodeId();
|
|
ids.clear();
|
|
}
|
|
bool VisitDirectoriesResp::operator==(const VisitDirectoriesResp& rhs) const {
|
|
if ((InodeId)this->nextId != (InodeId)rhs.nextId) { return false; };
|
|
if (ids != rhs.ids) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const VisitDirectoriesResp& x) {
|
|
out << "VisitDirectoriesResp(" << "NextId=" << x.nextId << ", " << "Ids=" << x.ids << ")";
|
|
return out;
|
|
}
|
|
|
|
void VisitFilesReq::pack(BincodeBuf& buf) const {
|
|
beginId.pack(buf);
|
|
buf.packScalar<uint16_t>(mtu);
|
|
}
|
|
void VisitFilesReq::unpack(BincodeBuf& buf) {
|
|
beginId.unpack(buf);
|
|
mtu = buf.unpackScalar<uint16_t>();
|
|
}
|
|
void VisitFilesReq::clear() {
|
|
beginId = InodeId();
|
|
mtu = uint16_t(0);
|
|
}
|
|
bool VisitFilesReq::operator==(const VisitFilesReq& rhs) const {
|
|
if ((InodeId)this->beginId != (InodeId)rhs.beginId) { return false; };
|
|
if ((uint16_t)this->mtu != (uint16_t)rhs.mtu) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const VisitFilesReq& x) {
|
|
out << "VisitFilesReq(" << "BeginId=" << x.beginId << ", " << "Mtu=" << x.mtu << ")";
|
|
return out;
|
|
}
|
|
|
|
void VisitFilesResp::pack(BincodeBuf& buf) const {
|
|
nextId.pack(buf);
|
|
buf.packList<InodeId>(ids);
|
|
}
|
|
void VisitFilesResp::unpack(BincodeBuf& buf) {
|
|
nextId.unpack(buf);
|
|
buf.unpackList<InodeId>(ids);
|
|
}
|
|
void VisitFilesResp::clear() {
|
|
nextId = InodeId();
|
|
ids.clear();
|
|
}
|
|
bool VisitFilesResp::operator==(const VisitFilesResp& rhs) const {
|
|
if ((InodeId)this->nextId != (InodeId)rhs.nextId) { return false; };
|
|
if (ids != rhs.ids) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const VisitFilesResp& x) {
|
|
out << "VisitFilesResp(" << "NextId=" << x.nextId << ", " << "Ids=" << x.ids << ")";
|
|
return out;
|
|
}
|
|
|
|
void VisitTransientFilesReq::pack(BincodeBuf& buf) const {
|
|
beginId.pack(buf);
|
|
buf.packScalar<uint16_t>(mtu);
|
|
}
|
|
void VisitTransientFilesReq::unpack(BincodeBuf& buf) {
|
|
beginId.unpack(buf);
|
|
mtu = buf.unpackScalar<uint16_t>();
|
|
}
|
|
void VisitTransientFilesReq::clear() {
|
|
beginId = InodeId();
|
|
mtu = uint16_t(0);
|
|
}
|
|
bool VisitTransientFilesReq::operator==(const VisitTransientFilesReq& rhs) const {
|
|
if ((InodeId)this->beginId != (InodeId)rhs.beginId) { return false; };
|
|
if ((uint16_t)this->mtu != (uint16_t)rhs.mtu) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const VisitTransientFilesReq& x) {
|
|
out << "VisitTransientFilesReq(" << "BeginId=" << x.beginId << ", " << "Mtu=" << x.mtu << ")";
|
|
return out;
|
|
}
|
|
|
|
void VisitTransientFilesResp::pack(BincodeBuf& buf) const {
|
|
nextId.pack(buf);
|
|
buf.packList<TransientFile>(files);
|
|
}
|
|
void VisitTransientFilesResp::unpack(BincodeBuf& buf) {
|
|
nextId.unpack(buf);
|
|
buf.unpackList<TransientFile>(files);
|
|
}
|
|
void VisitTransientFilesResp::clear() {
|
|
nextId = InodeId();
|
|
files.clear();
|
|
}
|
|
bool VisitTransientFilesResp::operator==(const VisitTransientFilesResp& rhs) const {
|
|
if ((InodeId)this->nextId != (InodeId)rhs.nextId) { return false; };
|
|
if (files != rhs.files) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const VisitTransientFilesResp& x) {
|
|
out << "VisitTransientFilesResp(" << "NextId=" << x.nextId << ", " << "Files=" << x.files << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveSpanInitiateReq::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packFixedBytes<8>(cookie);
|
|
}
|
|
void RemoveSpanInitiateReq::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
buf.unpackFixedBytes<8>(cookie);
|
|
}
|
|
void RemoveSpanInitiateReq::clear() {
|
|
fileId = InodeId();
|
|
cookie.clear();
|
|
}
|
|
bool RemoveSpanInitiateReq::operator==(const RemoveSpanInitiateReq& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if (cookie != rhs.cookie) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveSpanInitiateReq& x) {
|
|
out << "RemoveSpanInitiateReq(" << "FileId=" << x.fileId << ", " << "Cookie=" << x.cookie << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveSpanInitiateResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packList<RemoveSpanInitiateBlockInfo>(blocks);
|
|
}
|
|
void RemoveSpanInitiateResp::unpack(BincodeBuf& buf) {
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<RemoveSpanInitiateBlockInfo>(blocks);
|
|
}
|
|
void RemoveSpanInitiateResp::clear() {
|
|
byteOffset = uint64_t(0);
|
|
blocks.clear();
|
|
}
|
|
bool RemoveSpanInitiateResp::operator==(const RemoveSpanInitiateResp& rhs) const {
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if (blocks != rhs.blocks) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveSpanInitiateResp& x) {
|
|
out << "RemoveSpanInitiateResp(" << "ByteOffset=" << x.byteOffset << ", " << "Blocks=" << x.blocks << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveSpanCertifyReq::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packFixedBytes<8>(cookie);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packList<BlockProof>(proofs);
|
|
}
|
|
void RemoveSpanCertifyReq::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
buf.unpackFixedBytes<8>(cookie);
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<BlockProof>(proofs);
|
|
}
|
|
void RemoveSpanCertifyReq::clear() {
|
|
fileId = InodeId();
|
|
cookie.clear();
|
|
byteOffset = uint64_t(0);
|
|
proofs.clear();
|
|
}
|
|
bool RemoveSpanCertifyReq::operator==(const RemoveSpanCertifyReq& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if (cookie != rhs.cookie) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if (proofs != rhs.proofs) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveSpanCertifyReq& x) {
|
|
out << "RemoveSpanCertifyReq(" << "FileId=" << x.fileId << ", " << "Cookie=" << x.cookie << ", " << "ByteOffset=" << x.byteOffset << ", " << "Proofs=" << x.proofs << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveSpanCertifyResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RemoveSpanCertifyResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RemoveSpanCertifyResp::clear() {
|
|
}
|
|
bool RemoveSpanCertifyResp::operator==(const RemoveSpanCertifyResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveSpanCertifyResp& x) {
|
|
out << "RemoveSpanCertifyResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void SwapBlocksReq::pack(BincodeBuf& buf) const {
|
|
fileId1.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset1);
|
|
buf.packScalar<uint64_t>(blockId1);
|
|
fileId2.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset2);
|
|
buf.packScalar<uint64_t>(blockId2);
|
|
}
|
|
void SwapBlocksReq::unpack(BincodeBuf& buf) {
|
|
fileId1.unpack(buf);
|
|
byteOffset1 = buf.unpackScalar<uint64_t>();
|
|
blockId1 = buf.unpackScalar<uint64_t>();
|
|
fileId2.unpack(buf);
|
|
byteOffset2 = buf.unpackScalar<uint64_t>();
|
|
blockId2 = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void SwapBlocksReq::clear() {
|
|
fileId1 = InodeId();
|
|
byteOffset1 = uint64_t(0);
|
|
blockId1 = uint64_t(0);
|
|
fileId2 = InodeId();
|
|
byteOffset2 = uint64_t(0);
|
|
blockId2 = uint64_t(0);
|
|
}
|
|
bool SwapBlocksReq::operator==(const SwapBlocksReq& rhs) const {
|
|
if ((InodeId)this->fileId1 != (InodeId)rhs.fileId1) { return false; };
|
|
if ((uint64_t)this->byteOffset1 != (uint64_t)rhs.byteOffset1) { return false; };
|
|
if ((uint64_t)this->blockId1 != (uint64_t)rhs.blockId1) { return false; };
|
|
if ((InodeId)this->fileId2 != (InodeId)rhs.fileId2) { return false; };
|
|
if ((uint64_t)this->byteOffset2 != (uint64_t)rhs.byteOffset2) { return false; };
|
|
if ((uint64_t)this->blockId2 != (uint64_t)rhs.blockId2) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SwapBlocksReq& x) {
|
|
out << "SwapBlocksReq(" << "FileId1=" << x.fileId1 << ", " << "ByteOffset1=" << x.byteOffset1 << ", " << "BlockId1=" << x.blockId1 << ", " << "FileId2=" << x.fileId2 << ", " << "ByteOffset2=" << x.byteOffset2 << ", " << "BlockId2=" << x.blockId2 << ")";
|
|
return out;
|
|
}
|
|
|
|
void SwapBlocksResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void SwapBlocksResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void SwapBlocksResp::clear() {
|
|
}
|
|
bool SwapBlocksResp::operator==(const SwapBlocksResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SwapBlocksResp& x) {
|
|
out << "SwapBlocksResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void BlockServiceFilesReq::pack(BincodeBuf& buf) const {
|
|
blockServiceId.pack(buf);
|
|
startFrom.pack(buf);
|
|
}
|
|
void BlockServiceFilesReq::unpack(BincodeBuf& buf) {
|
|
blockServiceId.unpack(buf);
|
|
startFrom.unpack(buf);
|
|
}
|
|
void BlockServiceFilesReq::clear() {
|
|
blockServiceId = BlockServiceId(0);
|
|
startFrom = InodeId();
|
|
}
|
|
bool BlockServiceFilesReq::operator==(const BlockServiceFilesReq& rhs) const {
|
|
if ((BlockServiceId)this->blockServiceId != (BlockServiceId)rhs.blockServiceId) { return false; };
|
|
if ((InodeId)this->startFrom != (InodeId)rhs.startFrom) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const BlockServiceFilesReq& x) {
|
|
out << "BlockServiceFilesReq(" << "BlockServiceId=" << x.blockServiceId << ", " << "StartFrom=" << x.startFrom << ")";
|
|
return out;
|
|
}
|
|
|
|
void BlockServiceFilesResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<InodeId>(fileIds);
|
|
}
|
|
void BlockServiceFilesResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<InodeId>(fileIds);
|
|
}
|
|
void BlockServiceFilesResp::clear() {
|
|
fileIds.clear();
|
|
}
|
|
bool BlockServiceFilesResp::operator==(const BlockServiceFilesResp& rhs) const {
|
|
if (fileIds != rhs.fileIds) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const BlockServiceFilesResp& x) {
|
|
out << "BlockServiceFilesResp(" << "FileIds=" << x.fileIds << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveInodeReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
}
|
|
void RemoveInodeReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
}
|
|
void RemoveInodeReq::clear() {
|
|
id = InodeId();
|
|
}
|
|
bool RemoveInodeReq::operator==(const RemoveInodeReq& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveInodeReq& x) {
|
|
out << "RemoveInodeReq(" << "Id=" << x.id << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveInodeResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RemoveInodeResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RemoveInodeResp::clear() {
|
|
}
|
|
bool RemoveInodeResp::operator==(const RemoveInodeResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveInodeResp& x) {
|
|
out << "RemoveInodeResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanInitiateWithReferenceReq::pack(BincodeBuf& buf) const {
|
|
req.pack(buf);
|
|
reference.pack(buf);
|
|
}
|
|
void AddSpanInitiateWithReferenceReq::unpack(BincodeBuf& buf) {
|
|
req.unpack(buf);
|
|
reference.unpack(buf);
|
|
}
|
|
void AddSpanInitiateWithReferenceReq::clear() {
|
|
req.clear();
|
|
reference = InodeId();
|
|
}
|
|
bool AddSpanInitiateWithReferenceReq::operator==(const AddSpanInitiateWithReferenceReq& rhs) const {
|
|
if (req != rhs.req) { return false; };
|
|
if ((InodeId)this->reference != (InodeId)rhs.reference) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanInitiateWithReferenceReq& x) {
|
|
out << "AddSpanInitiateWithReferenceReq(" << "Req=" << x.req << ", " << "Reference=" << x.reference << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanInitiateWithReferenceResp::pack(BincodeBuf& buf) const {
|
|
resp.pack(buf);
|
|
}
|
|
void AddSpanInitiateWithReferenceResp::unpack(BincodeBuf& buf) {
|
|
resp.unpack(buf);
|
|
}
|
|
void AddSpanInitiateWithReferenceResp::clear() {
|
|
resp.clear();
|
|
}
|
|
bool AddSpanInitiateWithReferenceResp::operator==(const AddSpanInitiateWithReferenceResp& rhs) const {
|
|
if (resp != rhs.resp) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanInitiateWithReferenceResp& x) {
|
|
out << "AddSpanInitiateWithReferenceResp(" << "Resp=" << x.resp << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveZeroBlockServiceFilesReq::pack(BincodeBuf& buf) const {
|
|
startBlockService.pack(buf);
|
|
startFile.pack(buf);
|
|
}
|
|
void RemoveZeroBlockServiceFilesReq::unpack(BincodeBuf& buf) {
|
|
startBlockService.unpack(buf);
|
|
startFile.unpack(buf);
|
|
}
|
|
void RemoveZeroBlockServiceFilesReq::clear() {
|
|
startBlockService = BlockServiceId(0);
|
|
startFile = InodeId();
|
|
}
|
|
bool RemoveZeroBlockServiceFilesReq::operator==(const RemoveZeroBlockServiceFilesReq& rhs) const {
|
|
if ((BlockServiceId)this->startBlockService != (BlockServiceId)rhs.startBlockService) { return false; };
|
|
if ((InodeId)this->startFile != (InodeId)rhs.startFile) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveZeroBlockServiceFilesReq& x) {
|
|
out << "RemoveZeroBlockServiceFilesReq(" << "StartBlockService=" << x.startBlockService << ", " << "StartFile=" << x.startFile << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveZeroBlockServiceFilesResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(removed);
|
|
nextBlockService.pack(buf);
|
|
nextFile.pack(buf);
|
|
}
|
|
void RemoveZeroBlockServiceFilesResp::unpack(BincodeBuf& buf) {
|
|
removed = buf.unpackScalar<uint64_t>();
|
|
nextBlockService.unpack(buf);
|
|
nextFile.unpack(buf);
|
|
}
|
|
void RemoveZeroBlockServiceFilesResp::clear() {
|
|
removed = uint64_t(0);
|
|
nextBlockService = BlockServiceId(0);
|
|
nextFile = InodeId();
|
|
}
|
|
bool RemoveZeroBlockServiceFilesResp::operator==(const RemoveZeroBlockServiceFilesResp& rhs) const {
|
|
if ((uint64_t)this->removed != (uint64_t)rhs.removed) { return false; };
|
|
if ((BlockServiceId)this->nextBlockService != (BlockServiceId)rhs.nextBlockService) { return false; };
|
|
if ((InodeId)this->nextFile != (InodeId)rhs.nextFile) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveZeroBlockServiceFilesResp& x) {
|
|
out << "RemoveZeroBlockServiceFilesResp(" << "Removed=" << x.removed << ", " << "NextBlockService=" << x.nextBlockService << ", " << "NextFile=" << x.nextFile << ")";
|
|
return out;
|
|
}
|
|
|
|
void SwapSpansReq::pack(BincodeBuf& buf) const {
|
|
fileId1.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset1);
|
|
buf.packList<uint64_t>(blocks1);
|
|
fileId2.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset2);
|
|
buf.packList<uint64_t>(blocks2);
|
|
}
|
|
void SwapSpansReq::unpack(BincodeBuf& buf) {
|
|
fileId1.unpack(buf);
|
|
byteOffset1 = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<uint64_t>(blocks1);
|
|
fileId2.unpack(buf);
|
|
byteOffset2 = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<uint64_t>(blocks2);
|
|
}
|
|
void SwapSpansReq::clear() {
|
|
fileId1 = InodeId();
|
|
byteOffset1 = uint64_t(0);
|
|
blocks1.clear();
|
|
fileId2 = InodeId();
|
|
byteOffset2 = uint64_t(0);
|
|
blocks2.clear();
|
|
}
|
|
bool SwapSpansReq::operator==(const SwapSpansReq& rhs) const {
|
|
if ((InodeId)this->fileId1 != (InodeId)rhs.fileId1) { return false; };
|
|
if ((uint64_t)this->byteOffset1 != (uint64_t)rhs.byteOffset1) { return false; };
|
|
if (blocks1 != rhs.blocks1) { return false; };
|
|
if ((InodeId)this->fileId2 != (InodeId)rhs.fileId2) { return false; };
|
|
if ((uint64_t)this->byteOffset2 != (uint64_t)rhs.byteOffset2) { return false; };
|
|
if (blocks2 != rhs.blocks2) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SwapSpansReq& x) {
|
|
out << "SwapSpansReq(" << "FileId1=" << x.fileId1 << ", " << "ByteOffset1=" << x.byteOffset1 << ", " << "Blocks1=" << x.blocks1 << ", " << "FileId2=" << x.fileId2 << ", " << "ByteOffset2=" << x.byteOffset2 << ", " << "Blocks2=" << x.blocks2 << ")";
|
|
return out;
|
|
}
|
|
|
|
void SwapSpansResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void SwapSpansResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void SwapSpansResp::clear() {
|
|
}
|
|
bool SwapSpansResp::operator==(const SwapSpansResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SwapSpansResp& x) {
|
|
out << "SwapSpansResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void SameDirectoryRenameSnapshotReq::pack(BincodeBuf& buf) const {
|
|
targetId.pack(buf);
|
|
dirId.pack(buf);
|
|
buf.packBytes(oldName);
|
|
oldCreationTime.pack(buf);
|
|
buf.packBytes(newName);
|
|
}
|
|
void SameDirectoryRenameSnapshotReq::unpack(BincodeBuf& buf) {
|
|
targetId.unpack(buf);
|
|
dirId.unpack(buf);
|
|
buf.unpackBytes(oldName);
|
|
oldCreationTime.unpack(buf);
|
|
buf.unpackBytes(newName);
|
|
}
|
|
void SameDirectoryRenameSnapshotReq::clear() {
|
|
targetId = InodeId();
|
|
dirId = InodeId();
|
|
oldName.clear();
|
|
oldCreationTime = TernTime();
|
|
newName.clear();
|
|
}
|
|
bool SameDirectoryRenameSnapshotReq::operator==(const SameDirectoryRenameSnapshotReq& rhs) const {
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (oldName != rhs.oldName) { return false; };
|
|
if ((TernTime)this->oldCreationTime != (TernTime)rhs.oldCreationTime) { return false; };
|
|
if (newName != rhs.newName) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SameDirectoryRenameSnapshotReq& x) {
|
|
out << "SameDirectoryRenameSnapshotReq(" << "TargetId=" << x.targetId << ", " << "DirId=" << x.dirId << ", " << "OldName=" << GoLangQuotedStringFmt(x.oldName.data(), x.oldName.size()) << ", " << "OldCreationTime=" << x.oldCreationTime << ", " << "NewName=" << GoLangQuotedStringFmt(x.newName.data(), x.newName.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void SameDirectoryRenameSnapshotResp::pack(BincodeBuf& buf) const {
|
|
newCreationTime.pack(buf);
|
|
}
|
|
void SameDirectoryRenameSnapshotResp::unpack(BincodeBuf& buf) {
|
|
newCreationTime.unpack(buf);
|
|
}
|
|
void SameDirectoryRenameSnapshotResp::clear() {
|
|
newCreationTime = TernTime();
|
|
}
|
|
bool SameDirectoryRenameSnapshotResp::operator==(const SameDirectoryRenameSnapshotResp& rhs) const {
|
|
if ((TernTime)this->newCreationTime != (TernTime)rhs.newCreationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SameDirectoryRenameSnapshotResp& x) {
|
|
out << "SameDirectoryRenameSnapshotResp(" << "NewCreationTime=" << x.newCreationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanAtLocationInitiateReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(locationId);
|
|
req.pack(buf);
|
|
}
|
|
void AddSpanAtLocationInitiateReq::unpack(BincodeBuf& buf) {
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
req.unpack(buf);
|
|
}
|
|
void AddSpanAtLocationInitiateReq::clear() {
|
|
locationId = uint8_t(0);
|
|
req.clear();
|
|
}
|
|
bool AddSpanAtLocationInitiateReq::operator==(const AddSpanAtLocationInitiateReq& rhs) const {
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
if (req != rhs.req) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanAtLocationInitiateReq& x) {
|
|
out << "AddSpanAtLocationInitiateReq(" << "LocationId=" << (int)x.locationId << ", " << "Req=" << x.req << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanAtLocationInitiateResp::pack(BincodeBuf& buf) const {
|
|
resp.pack(buf);
|
|
}
|
|
void AddSpanAtLocationInitiateResp::unpack(BincodeBuf& buf) {
|
|
resp.unpack(buf);
|
|
}
|
|
void AddSpanAtLocationInitiateResp::clear() {
|
|
resp.clear();
|
|
}
|
|
bool AddSpanAtLocationInitiateResp::operator==(const AddSpanAtLocationInitiateResp& rhs) const {
|
|
if (resp != rhs.resp) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanAtLocationInitiateResp& x) {
|
|
out << "AddSpanAtLocationInitiateResp(" << "Resp=" << x.resp << ")";
|
|
return out;
|
|
}
|
|
|
|
void CreateDirectoryInodeReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
ownerId.pack(buf);
|
|
info.pack(buf);
|
|
}
|
|
void CreateDirectoryInodeReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
ownerId.unpack(buf);
|
|
info.unpack(buf);
|
|
}
|
|
void CreateDirectoryInodeReq::clear() {
|
|
id = InodeId();
|
|
ownerId = InodeId();
|
|
info.clear();
|
|
}
|
|
bool CreateDirectoryInodeReq::operator==(const CreateDirectoryInodeReq& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if (info != rhs.info) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CreateDirectoryInodeReq& x) {
|
|
out << "CreateDirectoryInodeReq(" << "Id=" << x.id << ", " << "OwnerId=" << x.ownerId << ", " << "Info=" << x.info << ")";
|
|
return out;
|
|
}
|
|
|
|
void CreateDirectoryInodeResp::pack(BincodeBuf& buf) const {
|
|
mtime.pack(buf);
|
|
}
|
|
void CreateDirectoryInodeResp::unpack(BincodeBuf& buf) {
|
|
mtime.unpack(buf);
|
|
}
|
|
void CreateDirectoryInodeResp::clear() {
|
|
mtime = TernTime();
|
|
}
|
|
bool CreateDirectoryInodeResp::operator==(const CreateDirectoryInodeResp& rhs) const {
|
|
if ((TernTime)this->mtime != (TernTime)rhs.mtime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CreateDirectoryInodeResp& x) {
|
|
out << "CreateDirectoryInodeResp(" << "Mtime=" << x.mtime << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetDirectoryOwnerReq::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
ownerId.pack(buf);
|
|
}
|
|
void SetDirectoryOwnerReq::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
ownerId.unpack(buf);
|
|
}
|
|
void SetDirectoryOwnerReq::clear() {
|
|
dirId = InodeId();
|
|
ownerId = InodeId();
|
|
}
|
|
bool SetDirectoryOwnerReq::operator==(const SetDirectoryOwnerReq& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetDirectoryOwnerReq& x) {
|
|
out << "SetDirectoryOwnerReq(" << "DirId=" << x.dirId << ", " << "OwnerId=" << x.ownerId << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetDirectoryOwnerResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void SetDirectoryOwnerResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void SetDirectoryOwnerResp::clear() {
|
|
}
|
|
bool SetDirectoryOwnerResp::operator==(const SetDirectoryOwnerResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetDirectoryOwnerResp& x) {
|
|
out << "SetDirectoryOwnerResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveDirectoryOwnerReq::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
info.pack(buf);
|
|
}
|
|
void RemoveDirectoryOwnerReq::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
info.unpack(buf);
|
|
}
|
|
void RemoveDirectoryOwnerReq::clear() {
|
|
dirId = InodeId();
|
|
info.clear();
|
|
}
|
|
bool RemoveDirectoryOwnerReq::operator==(const RemoveDirectoryOwnerReq& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (info != rhs.info) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveDirectoryOwnerReq& x) {
|
|
out << "RemoveDirectoryOwnerReq(" << "DirId=" << x.dirId << ", " << "Info=" << x.info << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveDirectoryOwnerResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RemoveDirectoryOwnerResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RemoveDirectoryOwnerResp::clear() {
|
|
}
|
|
bool RemoveDirectoryOwnerResp::operator==(const RemoveDirectoryOwnerResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveDirectoryOwnerResp& x) {
|
|
out << "RemoveDirectoryOwnerResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void CreateLockedCurrentEdgeReq::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
buf.packBytes(name);
|
|
targetId.pack(buf);
|
|
oldCreationTime.pack(buf);
|
|
}
|
|
void CreateLockedCurrentEdgeReq::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
targetId.unpack(buf);
|
|
oldCreationTime.unpack(buf);
|
|
}
|
|
void CreateLockedCurrentEdgeReq::clear() {
|
|
dirId = InodeId();
|
|
name.clear();
|
|
targetId = InodeId();
|
|
oldCreationTime = TernTime();
|
|
}
|
|
bool CreateLockedCurrentEdgeReq::operator==(const CreateLockedCurrentEdgeReq& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((TernTime)this->oldCreationTime != (TernTime)rhs.oldCreationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CreateLockedCurrentEdgeReq& x) {
|
|
out << "CreateLockedCurrentEdgeReq(" << "DirId=" << x.dirId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "TargetId=" << x.targetId << ", " << "OldCreationTime=" << x.oldCreationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void CreateLockedCurrentEdgeResp::pack(BincodeBuf& buf) const {
|
|
creationTime.pack(buf);
|
|
}
|
|
void CreateLockedCurrentEdgeResp::unpack(BincodeBuf& buf) {
|
|
creationTime.unpack(buf);
|
|
}
|
|
void CreateLockedCurrentEdgeResp::clear() {
|
|
creationTime = TernTime();
|
|
}
|
|
bool CreateLockedCurrentEdgeResp::operator==(const CreateLockedCurrentEdgeResp& rhs) const {
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CreateLockedCurrentEdgeResp& x) {
|
|
out << "CreateLockedCurrentEdgeResp(" << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void LockCurrentEdgeReq::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
targetId.pack(buf);
|
|
creationTime.pack(buf);
|
|
buf.packBytes(name);
|
|
}
|
|
void LockCurrentEdgeReq::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
creationTime.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
}
|
|
void LockCurrentEdgeReq::clear() {
|
|
dirId = InodeId();
|
|
targetId = InodeId();
|
|
creationTime = TernTime();
|
|
name.clear();
|
|
}
|
|
bool LockCurrentEdgeReq::operator==(const LockCurrentEdgeReq& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LockCurrentEdgeReq& x) {
|
|
out << "LockCurrentEdgeReq(" << "DirId=" << x.dirId << ", " << "TargetId=" << x.targetId << ", " << "CreationTime=" << x.creationTime << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void LockCurrentEdgeResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void LockCurrentEdgeResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void LockCurrentEdgeResp::clear() {
|
|
}
|
|
bool LockCurrentEdgeResp::operator==(const LockCurrentEdgeResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LockCurrentEdgeResp& x) {
|
|
out << "LockCurrentEdgeResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void UnlockCurrentEdgeReq::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packScalar<bool>(wasMoved);
|
|
}
|
|
void UnlockCurrentEdgeReq::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
targetId.unpack(buf);
|
|
wasMoved = buf.unpackScalar<bool>();
|
|
}
|
|
void UnlockCurrentEdgeReq::clear() {
|
|
dirId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
targetId = InodeId();
|
|
wasMoved = bool(0);
|
|
}
|
|
bool UnlockCurrentEdgeReq::operator==(const UnlockCurrentEdgeReq& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((bool)this->wasMoved != (bool)rhs.wasMoved) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const UnlockCurrentEdgeReq& x) {
|
|
out << "UnlockCurrentEdgeReq(" << "DirId=" << x.dirId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ", " << "TargetId=" << x.targetId << ", " << "WasMoved=" << x.wasMoved << ")";
|
|
return out;
|
|
}
|
|
|
|
void UnlockCurrentEdgeResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void UnlockCurrentEdgeResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void UnlockCurrentEdgeResp::clear() {
|
|
}
|
|
bool UnlockCurrentEdgeResp::operator==(const UnlockCurrentEdgeResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const UnlockCurrentEdgeResp& x) {
|
|
out << "UnlockCurrentEdgeResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveOwnedSnapshotFileEdgeReq::pack(BincodeBuf& buf) const {
|
|
ownerId.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
}
|
|
void RemoveOwnedSnapshotFileEdgeReq::unpack(BincodeBuf& buf) {
|
|
ownerId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void RemoveOwnedSnapshotFileEdgeReq::clear() {
|
|
ownerId = InodeId();
|
|
targetId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
}
|
|
bool RemoveOwnedSnapshotFileEdgeReq::operator==(const RemoveOwnedSnapshotFileEdgeReq& rhs) const {
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveOwnedSnapshotFileEdgeReq& x) {
|
|
out << "RemoveOwnedSnapshotFileEdgeReq(" << "OwnerId=" << x.ownerId << ", " << "TargetId=" << x.targetId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveOwnedSnapshotFileEdgeResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RemoveOwnedSnapshotFileEdgeResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RemoveOwnedSnapshotFileEdgeResp::clear() {
|
|
}
|
|
bool RemoveOwnedSnapshotFileEdgeResp::operator==(const RemoveOwnedSnapshotFileEdgeResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveOwnedSnapshotFileEdgeResp& x) {
|
|
out << "RemoveOwnedSnapshotFileEdgeResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void MakeFileTransientReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packBytes(note);
|
|
}
|
|
void MakeFileTransientReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
buf.unpackBytes(note);
|
|
}
|
|
void MakeFileTransientReq::clear() {
|
|
id = InodeId();
|
|
note.clear();
|
|
}
|
|
bool MakeFileTransientReq::operator==(const MakeFileTransientReq& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if (note != rhs.note) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MakeFileTransientReq& x) {
|
|
out << "MakeFileTransientReq(" << "Id=" << x.id << ", " << "Note=" << GoLangQuotedStringFmt(x.note.data(), x.note.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void MakeFileTransientResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void MakeFileTransientResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void MakeFileTransientResp::clear() {
|
|
}
|
|
bool MakeFileTransientResp::operator==(const MakeFileTransientResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MakeFileTransientResp& x) {
|
|
out << "MakeFileTransientResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void MakeDirectoryReq::pack(BincodeBuf& buf) const {
|
|
ownerId.pack(buf);
|
|
buf.packBytes(name);
|
|
}
|
|
void MakeDirectoryReq::unpack(BincodeBuf& buf) {
|
|
ownerId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
}
|
|
void MakeDirectoryReq::clear() {
|
|
ownerId = InodeId();
|
|
name.clear();
|
|
}
|
|
bool MakeDirectoryReq::operator==(const MakeDirectoryReq& rhs) const {
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MakeDirectoryReq& x) {
|
|
out << "MakeDirectoryReq(" << "OwnerId=" << x.ownerId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void MakeDirectoryResp::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
creationTime.pack(buf);
|
|
}
|
|
void MakeDirectoryResp::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void MakeDirectoryResp::clear() {
|
|
id = InodeId();
|
|
creationTime = TernTime();
|
|
}
|
|
bool MakeDirectoryResp::operator==(const MakeDirectoryResp& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MakeDirectoryResp& x) {
|
|
out << "MakeDirectoryResp(" << "Id=" << x.id << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void RenameFileReq::pack(BincodeBuf& buf) const {
|
|
targetId.pack(buf);
|
|
oldOwnerId.pack(buf);
|
|
buf.packBytes(oldName);
|
|
oldCreationTime.pack(buf);
|
|
newOwnerId.pack(buf);
|
|
buf.packBytes(newName);
|
|
}
|
|
void RenameFileReq::unpack(BincodeBuf& buf) {
|
|
targetId.unpack(buf);
|
|
oldOwnerId.unpack(buf);
|
|
buf.unpackBytes(oldName);
|
|
oldCreationTime.unpack(buf);
|
|
newOwnerId.unpack(buf);
|
|
buf.unpackBytes(newName);
|
|
}
|
|
void RenameFileReq::clear() {
|
|
targetId = InodeId();
|
|
oldOwnerId = InodeId();
|
|
oldName.clear();
|
|
oldCreationTime = TernTime();
|
|
newOwnerId = InodeId();
|
|
newName.clear();
|
|
}
|
|
bool RenameFileReq::operator==(const RenameFileReq& rhs) const {
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((InodeId)this->oldOwnerId != (InodeId)rhs.oldOwnerId) { return false; };
|
|
if (oldName != rhs.oldName) { return false; };
|
|
if ((TernTime)this->oldCreationTime != (TernTime)rhs.oldCreationTime) { return false; };
|
|
if ((InodeId)this->newOwnerId != (InodeId)rhs.newOwnerId) { return false; };
|
|
if (newName != rhs.newName) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RenameFileReq& x) {
|
|
out << "RenameFileReq(" << "TargetId=" << x.targetId << ", " << "OldOwnerId=" << x.oldOwnerId << ", " << "OldName=" << GoLangQuotedStringFmt(x.oldName.data(), x.oldName.size()) << ", " << "OldCreationTime=" << x.oldCreationTime << ", " << "NewOwnerId=" << x.newOwnerId << ", " << "NewName=" << GoLangQuotedStringFmt(x.newName.data(), x.newName.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void RenameFileResp::pack(BincodeBuf& buf) const {
|
|
creationTime.pack(buf);
|
|
}
|
|
void RenameFileResp::unpack(BincodeBuf& buf) {
|
|
creationTime.unpack(buf);
|
|
}
|
|
void RenameFileResp::clear() {
|
|
creationTime = TernTime();
|
|
}
|
|
bool RenameFileResp::operator==(const RenameFileResp& rhs) const {
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RenameFileResp& x) {
|
|
out << "RenameFileResp(" << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void SoftUnlinkDirectoryReq::pack(BincodeBuf& buf) const {
|
|
ownerId.pack(buf);
|
|
targetId.pack(buf);
|
|
creationTime.pack(buf);
|
|
buf.packBytes(name);
|
|
}
|
|
void SoftUnlinkDirectoryReq::unpack(BincodeBuf& buf) {
|
|
ownerId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
creationTime.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
}
|
|
void SoftUnlinkDirectoryReq::clear() {
|
|
ownerId = InodeId();
|
|
targetId = InodeId();
|
|
creationTime = TernTime();
|
|
name.clear();
|
|
}
|
|
bool SoftUnlinkDirectoryReq::operator==(const SoftUnlinkDirectoryReq& rhs) const {
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SoftUnlinkDirectoryReq& x) {
|
|
out << "SoftUnlinkDirectoryReq(" << "OwnerId=" << x.ownerId << ", " << "TargetId=" << x.targetId << ", " << "CreationTime=" << x.creationTime << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void SoftUnlinkDirectoryResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void SoftUnlinkDirectoryResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void SoftUnlinkDirectoryResp::clear() {
|
|
}
|
|
bool SoftUnlinkDirectoryResp::operator==(const SoftUnlinkDirectoryResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SoftUnlinkDirectoryResp& x) {
|
|
out << "SoftUnlinkDirectoryResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void RenameDirectoryReq::pack(BincodeBuf& buf) const {
|
|
targetId.pack(buf);
|
|
oldOwnerId.pack(buf);
|
|
buf.packBytes(oldName);
|
|
oldCreationTime.pack(buf);
|
|
newOwnerId.pack(buf);
|
|
buf.packBytes(newName);
|
|
}
|
|
void RenameDirectoryReq::unpack(BincodeBuf& buf) {
|
|
targetId.unpack(buf);
|
|
oldOwnerId.unpack(buf);
|
|
buf.unpackBytes(oldName);
|
|
oldCreationTime.unpack(buf);
|
|
newOwnerId.unpack(buf);
|
|
buf.unpackBytes(newName);
|
|
}
|
|
void RenameDirectoryReq::clear() {
|
|
targetId = InodeId();
|
|
oldOwnerId = InodeId();
|
|
oldName.clear();
|
|
oldCreationTime = TernTime();
|
|
newOwnerId = InodeId();
|
|
newName.clear();
|
|
}
|
|
bool RenameDirectoryReq::operator==(const RenameDirectoryReq& rhs) const {
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((InodeId)this->oldOwnerId != (InodeId)rhs.oldOwnerId) { return false; };
|
|
if (oldName != rhs.oldName) { return false; };
|
|
if ((TernTime)this->oldCreationTime != (TernTime)rhs.oldCreationTime) { return false; };
|
|
if ((InodeId)this->newOwnerId != (InodeId)rhs.newOwnerId) { return false; };
|
|
if (newName != rhs.newName) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RenameDirectoryReq& x) {
|
|
out << "RenameDirectoryReq(" << "TargetId=" << x.targetId << ", " << "OldOwnerId=" << x.oldOwnerId << ", " << "OldName=" << GoLangQuotedStringFmt(x.oldName.data(), x.oldName.size()) << ", " << "OldCreationTime=" << x.oldCreationTime << ", " << "NewOwnerId=" << x.newOwnerId << ", " << "NewName=" << GoLangQuotedStringFmt(x.newName.data(), x.newName.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void RenameDirectoryResp::pack(BincodeBuf& buf) const {
|
|
creationTime.pack(buf);
|
|
}
|
|
void RenameDirectoryResp::unpack(BincodeBuf& buf) {
|
|
creationTime.unpack(buf);
|
|
}
|
|
void RenameDirectoryResp::clear() {
|
|
creationTime = TernTime();
|
|
}
|
|
bool RenameDirectoryResp::operator==(const RenameDirectoryResp& rhs) const {
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RenameDirectoryResp& x) {
|
|
out << "RenameDirectoryResp(" << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void HardUnlinkDirectoryReq::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
}
|
|
void HardUnlinkDirectoryReq::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
}
|
|
void HardUnlinkDirectoryReq::clear() {
|
|
dirId = InodeId();
|
|
}
|
|
bool HardUnlinkDirectoryReq::operator==(const HardUnlinkDirectoryReq& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const HardUnlinkDirectoryReq& x) {
|
|
out << "HardUnlinkDirectoryReq(" << "DirId=" << x.dirId << ")";
|
|
return out;
|
|
}
|
|
|
|
void HardUnlinkDirectoryResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void HardUnlinkDirectoryResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void HardUnlinkDirectoryResp::clear() {
|
|
}
|
|
bool HardUnlinkDirectoryResp::operator==(const HardUnlinkDirectoryResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const HardUnlinkDirectoryResp& x) {
|
|
out << "HardUnlinkDirectoryResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void CrossShardHardUnlinkFileReq::pack(BincodeBuf& buf) const {
|
|
ownerId.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
}
|
|
void CrossShardHardUnlinkFileReq::unpack(BincodeBuf& buf) {
|
|
ownerId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void CrossShardHardUnlinkFileReq::clear() {
|
|
ownerId = InodeId();
|
|
targetId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
}
|
|
bool CrossShardHardUnlinkFileReq::operator==(const CrossShardHardUnlinkFileReq& rhs) const {
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CrossShardHardUnlinkFileReq& x) {
|
|
out << "CrossShardHardUnlinkFileReq(" << "OwnerId=" << x.ownerId << ", " << "TargetId=" << x.targetId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void CrossShardHardUnlinkFileResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void CrossShardHardUnlinkFileResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void CrossShardHardUnlinkFileResp::clear() {
|
|
}
|
|
bool CrossShardHardUnlinkFileResp::operator==(const CrossShardHardUnlinkFileResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CrossShardHardUnlinkFileResp& x) {
|
|
out << "CrossShardHardUnlinkFileResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void CdcSnapshotReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(snapshotId);
|
|
}
|
|
void CdcSnapshotReq::unpack(BincodeBuf& buf) {
|
|
snapshotId = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void CdcSnapshotReq::clear() {
|
|
snapshotId = uint64_t(0);
|
|
}
|
|
bool CdcSnapshotReq::operator==(const CdcSnapshotReq& rhs) const {
|
|
if ((uint64_t)this->snapshotId != (uint64_t)rhs.snapshotId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CdcSnapshotReq& x) {
|
|
out << "CdcSnapshotReq(" << "SnapshotId=" << x.snapshotId << ")";
|
|
return out;
|
|
}
|
|
|
|
void CdcSnapshotResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void CdcSnapshotResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void CdcSnapshotResp::clear() {
|
|
}
|
|
bool CdcSnapshotResp::operator==(const CdcSnapshotResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CdcSnapshotResp& x) {
|
|
out << "CdcSnapshotResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocalShardsReq::pack(BincodeBuf& buf) const {
|
|
}
|
|
void LocalShardsReq::unpack(BincodeBuf& buf) {
|
|
}
|
|
void LocalShardsReq::clear() {
|
|
}
|
|
bool LocalShardsReq::operator==(const LocalShardsReq& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocalShardsReq& x) {
|
|
out << "LocalShardsReq(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocalShardsResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<ShardInfo>(shards);
|
|
}
|
|
void LocalShardsResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<ShardInfo>(shards);
|
|
}
|
|
void LocalShardsResp::clear() {
|
|
shards.clear();
|
|
}
|
|
bool LocalShardsResp::operator==(const LocalShardsResp& rhs) const {
|
|
if (shards != rhs.shards) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocalShardsResp& x) {
|
|
out << "LocalShardsResp(" << "Shards=" << x.shards << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocalCdcReq::pack(BincodeBuf& buf) const {
|
|
}
|
|
void LocalCdcReq::unpack(BincodeBuf& buf) {
|
|
}
|
|
void LocalCdcReq::clear() {
|
|
}
|
|
bool LocalCdcReq::operator==(const LocalCdcReq& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocalCdcReq& x) {
|
|
out << "LocalCdcReq(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocalCdcResp::pack(BincodeBuf& buf) const {
|
|
addrs.pack(buf);
|
|
lastSeen.pack(buf);
|
|
}
|
|
void LocalCdcResp::unpack(BincodeBuf& buf) {
|
|
addrs.unpack(buf);
|
|
lastSeen.unpack(buf);
|
|
}
|
|
void LocalCdcResp::clear() {
|
|
addrs.clear();
|
|
lastSeen = TernTime();
|
|
}
|
|
bool LocalCdcResp::operator==(const LocalCdcResp& rhs) const {
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((TernTime)this->lastSeen != (TernTime)rhs.lastSeen) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocalCdcResp& x) {
|
|
out << "LocalCdcResp(" << "Addrs=" << x.addrs << ", " << "LastSeen=" << x.lastSeen << ")";
|
|
return out;
|
|
}
|
|
|
|
void InfoReq::pack(BincodeBuf& buf) const {
|
|
}
|
|
void InfoReq::unpack(BincodeBuf& buf) {
|
|
}
|
|
void InfoReq::clear() {
|
|
}
|
|
bool InfoReq::operator==(const InfoReq& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const InfoReq& x) {
|
|
out << "InfoReq(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void InfoResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint32_t>(numBlockServices);
|
|
buf.packScalar<uint32_t>(numFailureDomains);
|
|
buf.packScalar<uint64_t>(capacity);
|
|
buf.packScalar<uint64_t>(available);
|
|
buf.packScalar<uint64_t>(blocks);
|
|
}
|
|
void InfoResp::unpack(BincodeBuf& buf) {
|
|
numBlockServices = buf.unpackScalar<uint32_t>();
|
|
numFailureDomains = buf.unpackScalar<uint32_t>();
|
|
capacity = buf.unpackScalar<uint64_t>();
|
|
available = buf.unpackScalar<uint64_t>();
|
|
blocks = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void InfoResp::clear() {
|
|
numBlockServices = uint32_t(0);
|
|
numFailureDomains = uint32_t(0);
|
|
capacity = uint64_t(0);
|
|
available = uint64_t(0);
|
|
blocks = uint64_t(0);
|
|
}
|
|
bool InfoResp::operator==(const InfoResp& rhs) const {
|
|
if ((uint32_t)this->numBlockServices != (uint32_t)rhs.numBlockServices) { return false; };
|
|
if ((uint32_t)this->numFailureDomains != (uint32_t)rhs.numFailureDomains) { return false; };
|
|
if ((uint64_t)this->capacity != (uint64_t)rhs.capacity) { return false; };
|
|
if ((uint64_t)this->available != (uint64_t)rhs.available) { return false; };
|
|
if ((uint64_t)this->blocks != (uint64_t)rhs.blocks) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const InfoResp& x) {
|
|
out << "InfoResp(" << "NumBlockServices=" << x.numBlockServices << ", " << "NumFailureDomains=" << x.numFailureDomains << ", " << "Capacity=" << x.capacity << ", " << "Available=" << x.available << ", " << "Blocks=" << x.blocks << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegistryReq::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RegistryReq::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RegistryReq::clear() {
|
|
}
|
|
bool RegistryReq::operator==(const RegistryReq& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegistryReq& x) {
|
|
out << "RegistryReq(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegistryResp::pack(BincodeBuf& buf) const {
|
|
addrs.pack(buf);
|
|
}
|
|
void RegistryResp::unpack(BincodeBuf& buf) {
|
|
addrs.unpack(buf);
|
|
}
|
|
void RegistryResp::clear() {
|
|
addrs.clear();
|
|
}
|
|
bool RegistryResp::operator==(const RegistryResp& rhs) const {
|
|
if (addrs != rhs.addrs) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegistryResp& x) {
|
|
out << "RegistryResp(" << "Addrs=" << x.addrs << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocalChangedBlockServicesReq::pack(BincodeBuf& buf) const {
|
|
changedSince.pack(buf);
|
|
}
|
|
void LocalChangedBlockServicesReq::unpack(BincodeBuf& buf) {
|
|
changedSince.unpack(buf);
|
|
}
|
|
void LocalChangedBlockServicesReq::clear() {
|
|
changedSince = TernTime();
|
|
}
|
|
bool LocalChangedBlockServicesReq::operator==(const LocalChangedBlockServicesReq& rhs) const {
|
|
if ((TernTime)this->changedSince != (TernTime)rhs.changedSince) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocalChangedBlockServicesReq& x) {
|
|
out << "LocalChangedBlockServicesReq(" << "ChangedSince=" << x.changedSince << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocalChangedBlockServicesResp::pack(BincodeBuf& buf) const {
|
|
lastChange.pack(buf);
|
|
buf.packList<BlockService>(blockServices);
|
|
}
|
|
void LocalChangedBlockServicesResp::unpack(BincodeBuf& buf) {
|
|
lastChange.unpack(buf);
|
|
buf.unpackList<BlockService>(blockServices);
|
|
}
|
|
void LocalChangedBlockServicesResp::clear() {
|
|
lastChange = TernTime();
|
|
blockServices.clear();
|
|
}
|
|
bool LocalChangedBlockServicesResp::operator==(const LocalChangedBlockServicesResp& rhs) const {
|
|
if ((TernTime)this->lastChange != (TernTime)rhs.lastChange) { return false; };
|
|
if (blockServices != rhs.blockServices) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocalChangedBlockServicesResp& x) {
|
|
out << "LocalChangedBlockServicesResp(" << "LastChange=" << x.lastChange << ", " << "BlockServices=" << x.blockServices << ")";
|
|
return out;
|
|
}
|
|
|
|
void CreateLocationReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(id);
|
|
buf.packBytes(name);
|
|
}
|
|
void CreateLocationReq::unpack(BincodeBuf& buf) {
|
|
id = buf.unpackScalar<uint8_t>();
|
|
buf.unpackBytes(name);
|
|
}
|
|
void CreateLocationReq::clear() {
|
|
id = uint8_t(0);
|
|
name.clear();
|
|
}
|
|
bool CreateLocationReq::operator==(const CreateLocationReq& rhs) const {
|
|
if ((uint8_t)this->id != (uint8_t)rhs.id) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CreateLocationReq& x) {
|
|
out << "CreateLocationReq(" << "Id=" << (int)x.id << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void CreateLocationResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void CreateLocationResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void CreateLocationResp::clear() {
|
|
}
|
|
bool CreateLocationResp::operator==(const CreateLocationResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CreateLocationResp& x) {
|
|
out << "CreateLocationResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void RenameLocationReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(id);
|
|
buf.packBytes(name);
|
|
}
|
|
void RenameLocationReq::unpack(BincodeBuf& buf) {
|
|
id = buf.unpackScalar<uint8_t>();
|
|
buf.unpackBytes(name);
|
|
}
|
|
void RenameLocationReq::clear() {
|
|
id = uint8_t(0);
|
|
name.clear();
|
|
}
|
|
bool RenameLocationReq::operator==(const RenameLocationReq& rhs) const {
|
|
if ((uint8_t)this->id != (uint8_t)rhs.id) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RenameLocationReq& x) {
|
|
out << "RenameLocationReq(" << "Id=" << (int)x.id << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void RenameLocationResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RenameLocationResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RenameLocationResp::clear() {
|
|
}
|
|
bool RenameLocationResp::operator==(const RenameLocationResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RenameLocationResp& x) {
|
|
out << "RenameLocationResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegisterShardReq::pack(BincodeBuf& buf) const {
|
|
shrid.pack(buf);
|
|
buf.packScalar<bool>(isLeader);
|
|
addrs.pack(buf);
|
|
buf.packScalar<uint8_t>(location);
|
|
}
|
|
void RegisterShardReq::unpack(BincodeBuf& buf) {
|
|
shrid.unpack(buf);
|
|
isLeader = buf.unpackScalar<bool>();
|
|
addrs.unpack(buf);
|
|
location = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void RegisterShardReq::clear() {
|
|
shrid = ShardReplicaId();
|
|
isLeader = bool(0);
|
|
addrs.clear();
|
|
location = uint8_t(0);
|
|
}
|
|
bool RegisterShardReq::operator==(const RegisterShardReq& rhs) const {
|
|
if ((ShardReplicaId)this->shrid != (ShardReplicaId)rhs.shrid) { return false; };
|
|
if ((bool)this->isLeader != (bool)rhs.isLeader) { return false; };
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((uint8_t)this->location != (uint8_t)rhs.location) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegisterShardReq& x) {
|
|
out << "RegisterShardReq(" << "Shrid=" << x.shrid << ", " << "IsLeader=" << x.isLeader << ", " << "Addrs=" << x.addrs << ", " << "Location=" << (int)x.location << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegisterShardResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RegisterShardResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RegisterShardResp::clear() {
|
|
}
|
|
bool RegisterShardResp::operator==(const RegisterShardResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegisterShardResp& x) {
|
|
out << "RegisterShardResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocationsReq::pack(BincodeBuf& buf) const {
|
|
}
|
|
void LocationsReq::unpack(BincodeBuf& buf) {
|
|
}
|
|
void LocationsReq::clear() {
|
|
}
|
|
bool LocationsReq::operator==(const LocationsReq& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocationsReq& x) {
|
|
out << "LocationsReq(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void LocationsResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<LocationInfo>(locations);
|
|
}
|
|
void LocationsResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<LocationInfo>(locations);
|
|
}
|
|
void LocationsResp::clear() {
|
|
locations.clear();
|
|
}
|
|
bool LocationsResp::operator==(const LocationsResp& rhs) const {
|
|
if (locations != rhs.locations) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LocationsResp& x) {
|
|
out << "LocationsResp(" << "Locations=" << x.locations << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegisterCdcReq::pack(BincodeBuf& buf) const {
|
|
replica.pack(buf);
|
|
buf.packScalar<uint8_t>(location);
|
|
buf.packScalar<bool>(isLeader);
|
|
addrs.pack(buf);
|
|
}
|
|
void RegisterCdcReq::unpack(BincodeBuf& buf) {
|
|
replica.unpack(buf);
|
|
location = buf.unpackScalar<uint8_t>();
|
|
isLeader = buf.unpackScalar<bool>();
|
|
addrs.unpack(buf);
|
|
}
|
|
void RegisterCdcReq::clear() {
|
|
replica = ReplicaId();
|
|
location = uint8_t(0);
|
|
isLeader = bool(0);
|
|
addrs.clear();
|
|
}
|
|
bool RegisterCdcReq::operator==(const RegisterCdcReq& rhs) const {
|
|
if ((ReplicaId)this->replica != (ReplicaId)rhs.replica) { return false; };
|
|
if ((uint8_t)this->location != (uint8_t)rhs.location) { return false; };
|
|
if ((bool)this->isLeader != (bool)rhs.isLeader) { return false; };
|
|
if (addrs != rhs.addrs) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegisterCdcReq& x) {
|
|
out << "RegisterCdcReq(" << "Replica=" << x.replica << ", " << "Location=" << (int)x.location << ", " << "IsLeader=" << x.isLeader << ", " << "Addrs=" << x.addrs << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegisterCdcResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RegisterCdcResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RegisterCdcResp::clear() {
|
|
}
|
|
bool RegisterCdcResp::operator==(const RegisterCdcResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegisterCdcResp& x) {
|
|
out << "RegisterCdcResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetBlockServiceFlagsReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packScalar<BlockServiceFlags>(flags);
|
|
buf.packScalar<uint8_t>(flagsMask);
|
|
}
|
|
void SetBlockServiceFlagsReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
flags = buf.unpackScalar<BlockServiceFlags>();
|
|
flagsMask = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void SetBlockServiceFlagsReq::clear() {
|
|
id = BlockServiceId(0);
|
|
flags = BlockServiceFlags(0);
|
|
flagsMask = uint8_t(0);
|
|
}
|
|
bool SetBlockServiceFlagsReq::operator==(const SetBlockServiceFlagsReq& rhs) const {
|
|
if ((BlockServiceId)this->id != (BlockServiceId)rhs.id) { return false; };
|
|
if ((BlockServiceFlags)this->flags != (BlockServiceFlags)rhs.flags) { return false; };
|
|
if ((uint8_t)this->flagsMask != (uint8_t)rhs.flagsMask) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetBlockServiceFlagsReq& x) {
|
|
out << "SetBlockServiceFlagsReq(" << "Id=" << x.id << ", " << "Flags=" << x.flags << ", " << "FlagsMask=" << (int)x.flagsMask << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetBlockServiceFlagsResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void SetBlockServiceFlagsResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void SetBlockServiceFlagsResp::clear() {
|
|
}
|
|
bool SetBlockServiceFlagsResp::operator==(const SetBlockServiceFlagsResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetBlockServiceFlagsResp& x) {
|
|
out << "SetBlockServiceFlagsResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegisterBlockServicesReq::pack(BincodeBuf& buf) const {
|
|
buf.packList<RegisterBlockServiceInfo>(blockServices);
|
|
}
|
|
void RegisterBlockServicesReq::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<RegisterBlockServiceInfo>(blockServices);
|
|
}
|
|
void RegisterBlockServicesReq::clear() {
|
|
blockServices.clear();
|
|
}
|
|
bool RegisterBlockServicesReq::operator==(const RegisterBlockServicesReq& rhs) const {
|
|
if (blockServices != rhs.blockServices) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegisterBlockServicesReq& x) {
|
|
out << "RegisterBlockServicesReq(" << "BlockServices=" << x.blockServices << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegisterBlockServicesResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RegisterBlockServicesResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RegisterBlockServicesResp::clear() {
|
|
}
|
|
bool RegisterBlockServicesResp::operator==(const RegisterBlockServicesResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegisterBlockServicesResp& x) {
|
|
out << "RegisterBlockServicesResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void ChangedBlockServicesAtLocationReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(locationId);
|
|
changedSince.pack(buf);
|
|
}
|
|
void ChangedBlockServicesAtLocationReq::unpack(BincodeBuf& buf) {
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
changedSince.unpack(buf);
|
|
}
|
|
void ChangedBlockServicesAtLocationReq::clear() {
|
|
locationId = uint8_t(0);
|
|
changedSince = TernTime();
|
|
}
|
|
bool ChangedBlockServicesAtLocationReq::operator==(const ChangedBlockServicesAtLocationReq& rhs) const {
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
if ((TernTime)this->changedSince != (TernTime)rhs.changedSince) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ChangedBlockServicesAtLocationReq& x) {
|
|
out << "ChangedBlockServicesAtLocationReq(" << "LocationId=" << (int)x.locationId << ", " << "ChangedSince=" << x.changedSince << ")";
|
|
return out;
|
|
}
|
|
|
|
void ChangedBlockServicesAtLocationResp::pack(BincodeBuf& buf) const {
|
|
lastChange.pack(buf);
|
|
buf.packList<BlockService>(blockServices);
|
|
}
|
|
void ChangedBlockServicesAtLocationResp::unpack(BincodeBuf& buf) {
|
|
lastChange.unpack(buf);
|
|
buf.unpackList<BlockService>(blockServices);
|
|
}
|
|
void ChangedBlockServicesAtLocationResp::clear() {
|
|
lastChange = TernTime();
|
|
blockServices.clear();
|
|
}
|
|
bool ChangedBlockServicesAtLocationResp::operator==(const ChangedBlockServicesAtLocationResp& rhs) const {
|
|
if ((TernTime)this->lastChange != (TernTime)rhs.lastChange) { return false; };
|
|
if (blockServices != rhs.blockServices) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ChangedBlockServicesAtLocationResp& x) {
|
|
out << "ChangedBlockServicesAtLocationResp(" << "LastChange=" << x.lastChange << ", " << "BlockServices=" << x.blockServices << ")";
|
|
return out;
|
|
}
|
|
|
|
void ShardsAtLocationReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(locationId);
|
|
}
|
|
void ShardsAtLocationReq::unpack(BincodeBuf& buf) {
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void ShardsAtLocationReq::clear() {
|
|
locationId = uint8_t(0);
|
|
}
|
|
bool ShardsAtLocationReq::operator==(const ShardsAtLocationReq& rhs) const {
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ShardsAtLocationReq& x) {
|
|
out << "ShardsAtLocationReq(" << "LocationId=" << (int)x.locationId << ")";
|
|
return out;
|
|
}
|
|
|
|
void ShardsAtLocationResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<ShardInfo>(shards);
|
|
}
|
|
void ShardsAtLocationResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<ShardInfo>(shards);
|
|
}
|
|
void ShardsAtLocationResp::clear() {
|
|
shards.clear();
|
|
}
|
|
bool ShardsAtLocationResp::operator==(const ShardsAtLocationResp& rhs) const {
|
|
if (shards != rhs.shards) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ShardsAtLocationResp& x) {
|
|
out << "ShardsAtLocationResp(" << "Shards=" << x.shards << ")";
|
|
return out;
|
|
}
|
|
|
|
void CdcAtLocationReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(locationId);
|
|
}
|
|
void CdcAtLocationReq::unpack(BincodeBuf& buf) {
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void CdcAtLocationReq::clear() {
|
|
locationId = uint8_t(0);
|
|
}
|
|
bool CdcAtLocationReq::operator==(const CdcAtLocationReq& rhs) const {
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CdcAtLocationReq& x) {
|
|
out << "CdcAtLocationReq(" << "LocationId=" << (int)x.locationId << ")";
|
|
return out;
|
|
}
|
|
|
|
void CdcAtLocationResp::pack(BincodeBuf& buf) const {
|
|
addrs.pack(buf);
|
|
lastSeen.pack(buf);
|
|
}
|
|
void CdcAtLocationResp::unpack(BincodeBuf& buf) {
|
|
addrs.unpack(buf);
|
|
lastSeen.unpack(buf);
|
|
}
|
|
void CdcAtLocationResp::clear() {
|
|
addrs.clear();
|
|
lastSeen = TernTime();
|
|
}
|
|
bool CdcAtLocationResp::operator==(const CdcAtLocationResp& rhs) const {
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((TernTime)this->lastSeen != (TernTime)rhs.lastSeen) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CdcAtLocationResp& x) {
|
|
out << "CdcAtLocationResp(" << "Addrs=" << x.addrs << ", " << "LastSeen=" << x.lastSeen << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegisterRegistryReq::pack(BincodeBuf& buf) const {
|
|
replicaId.pack(buf);
|
|
buf.packScalar<uint8_t>(location);
|
|
buf.packScalar<bool>(isLeader);
|
|
addrs.pack(buf);
|
|
buf.packScalar<bool>(bootstrap);
|
|
}
|
|
void RegisterRegistryReq::unpack(BincodeBuf& buf) {
|
|
replicaId.unpack(buf);
|
|
location = buf.unpackScalar<uint8_t>();
|
|
isLeader = buf.unpackScalar<bool>();
|
|
addrs.unpack(buf);
|
|
bootstrap = buf.unpackScalar<bool>();
|
|
}
|
|
void RegisterRegistryReq::clear() {
|
|
replicaId = ReplicaId();
|
|
location = uint8_t(0);
|
|
isLeader = bool(0);
|
|
addrs.clear();
|
|
bootstrap = bool(0);
|
|
}
|
|
bool RegisterRegistryReq::operator==(const RegisterRegistryReq& rhs) const {
|
|
if ((ReplicaId)this->replicaId != (ReplicaId)rhs.replicaId) { return false; };
|
|
if ((uint8_t)this->location != (uint8_t)rhs.location) { return false; };
|
|
if ((bool)this->isLeader != (bool)rhs.isLeader) { return false; };
|
|
if (addrs != rhs.addrs) { return false; };
|
|
if ((bool)this->bootstrap != (bool)rhs.bootstrap) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegisterRegistryReq& x) {
|
|
out << "RegisterRegistryReq(" << "ReplicaId=" << x.replicaId << ", " << "Location=" << (int)x.location << ", " << "IsLeader=" << x.isLeader << ", " << "Addrs=" << x.addrs << ", " << "Bootstrap=" << x.bootstrap << ")";
|
|
return out;
|
|
}
|
|
|
|
void RegisterRegistryResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void RegisterRegistryResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void RegisterRegistryResp::clear() {
|
|
}
|
|
bool RegisterRegistryResp::operator==(const RegisterRegistryResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RegisterRegistryResp& x) {
|
|
out << "RegisterRegistryResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void AllRegistryReplicasReq::pack(BincodeBuf& buf) const {
|
|
}
|
|
void AllRegistryReplicasReq::unpack(BincodeBuf& buf) {
|
|
}
|
|
void AllRegistryReplicasReq::clear() {
|
|
}
|
|
bool AllRegistryReplicasReq::operator==(const AllRegistryReplicasReq& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AllRegistryReplicasReq& x) {
|
|
out << "AllRegistryReplicasReq(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void AllRegistryReplicasResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<FullRegistryInfo>(replicas);
|
|
}
|
|
void AllRegistryReplicasResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<FullRegistryInfo>(replicas);
|
|
}
|
|
void AllRegistryReplicasResp::clear() {
|
|
replicas.clear();
|
|
}
|
|
bool AllRegistryReplicasResp::operator==(const AllRegistryReplicasResp& rhs) const {
|
|
if (replicas != rhs.replicas) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AllRegistryReplicasResp& x) {
|
|
out << "AllRegistryReplicasResp(" << "Replicas=" << x.replicas << ")";
|
|
return out;
|
|
}
|
|
|
|
void ShardBlockServicesDEPRECATEDReq::pack(BincodeBuf& buf) const {
|
|
shardId.pack(buf);
|
|
}
|
|
void ShardBlockServicesDEPRECATEDReq::unpack(BincodeBuf& buf) {
|
|
shardId.unpack(buf);
|
|
}
|
|
void ShardBlockServicesDEPRECATEDReq::clear() {
|
|
shardId = ShardId();
|
|
}
|
|
bool ShardBlockServicesDEPRECATEDReq::operator==(const ShardBlockServicesDEPRECATEDReq& rhs) const {
|
|
if ((ShardId)this->shardId != (ShardId)rhs.shardId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ShardBlockServicesDEPRECATEDReq& x) {
|
|
out << "ShardBlockServicesDEPRECATEDReq(" << "ShardId=" << x.shardId << ")";
|
|
return out;
|
|
}
|
|
|
|
void ShardBlockServicesDEPRECATEDResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<BlockServiceId>(blockServices);
|
|
}
|
|
void ShardBlockServicesDEPRECATEDResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<BlockServiceId>(blockServices);
|
|
}
|
|
void ShardBlockServicesDEPRECATEDResp::clear() {
|
|
blockServices.clear();
|
|
}
|
|
bool ShardBlockServicesDEPRECATEDResp::operator==(const ShardBlockServicesDEPRECATEDResp& rhs) const {
|
|
if (blockServices != rhs.blockServices) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ShardBlockServicesDEPRECATEDResp& x) {
|
|
out << "ShardBlockServicesDEPRECATEDResp(" << "BlockServices=" << x.blockServices << ")";
|
|
return out;
|
|
}
|
|
|
|
void CdcReplicasDEPRECATEDReq::pack(BincodeBuf& buf) const {
|
|
}
|
|
void CdcReplicasDEPRECATEDReq::unpack(BincodeBuf& buf) {
|
|
}
|
|
void CdcReplicasDEPRECATEDReq::clear() {
|
|
}
|
|
bool CdcReplicasDEPRECATEDReq::operator==(const CdcReplicasDEPRECATEDReq& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CdcReplicasDEPRECATEDReq& x) {
|
|
out << "CdcReplicasDEPRECATEDReq(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void CdcReplicasDEPRECATEDResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<AddrsInfo>(replicas);
|
|
}
|
|
void CdcReplicasDEPRECATEDResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<AddrsInfo>(replicas);
|
|
}
|
|
void CdcReplicasDEPRECATEDResp::clear() {
|
|
replicas.clear();
|
|
}
|
|
bool CdcReplicasDEPRECATEDResp::operator==(const CdcReplicasDEPRECATEDResp& rhs) const {
|
|
if (replicas != rhs.replicas) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CdcReplicasDEPRECATEDResp& x) {
|
|
out << "CdcReplicasDEPRECATEDResp(" << "Replicas=" << x.replicas << ")";
|
|
return out;
|
|
}
|
|
|
|
void AllShardsReq::pack(BincodeBuf& buf) const {
|
|
}
|
|
void AllShardsReq::unpack(BincodeBuf& buf) {
|
|
}
|
|
void AllShardsReq::clear() {
|
|
}
|
|
bool AllShardsReq::operator==(const AllShardsReq& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AllShardsReq& x) {
|
|
out << "AllShardsReq(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void AllShardsResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<FullShardInfo>(shards);
|
|
}
|
|
void AllShardsResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<FullShardInfo>(shards);
|
|
}
|
|
void AllShardsResp::clear() {
|
|
shards.clear();
|
|
}
|
|
bool AllShardsResp::operator==(const AllShardsResp& rhs) const {
|
|
if (shards != rhs.shards) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AllShardsResp& x) {
|
|
out << "AllShardsResp(" << "Shards=" << x.shards << ")";
|
|
return out;
|
|
}
|
|
|
|
void DecommissionBlockServiceReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
}
|
|
void DecommissionBlockServiceReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
}
|
|
void DecommissionBlockServiceReq::clear() {
|
|
id = BlockServiceId(0);
|
|
}
|
|
bool DecommissionBlockServiceReq::operator==(const DecommissionBlockServiceReq& rhs) const {
|
|
if ((BlockServiceId)this->id != (BlockServiceId)rhs.id) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const DecommissionBlockServiceReq& x) {
|
|
out << "DecommissionBlockServiceReq(" << "Id=" << x.id << ")";
|
|
return out;
|
|
}
|
|
|
|
void DecommissionBlockServiceResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void DecommissionBlockServiceResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void DecommissionBlockServiceResp::clear() {
|
|
}
|
|
bool DecommissionBlockServiceResp::operator==(const DecommissionBlockServiceResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const DecommissionBlockServiceResp& x) {
|
|
out << "DecommissionBlockServiceResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void MoveShardLeaderReq::pack(BincodeBuf& buf) const {
|
|
shrid.pack(buf);
|
|
buf.packScalar<uint8_t>(location);
|
|
}
|
|
void MoveShardLeaderReq::unpack(BincodeBuf& buf) {
|
|
shrid.unpack(buf);
|
|
location = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void MoveShardLeaderReq::clear() {
|
|
shrid = ShardReplicaId();
|
|
location = uint8_t(0);
|
|
}
|
|
bool MoveShardLeaderReq::operator==(const MoveShardLeaderReq& rhs) const {
|
|
if ((ShardReplicaId)this->shrid != (ShardReplicaId)rhs.shrid) { return false; };
|
|
if ((uint8_t)this->location != (uint8_t)rhs.location) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MoveShardLeaderReq& x) {
|
|
out << "MoveShardLeaderReq(" << "Shrid=" << x.shrid << ", " << "Location=" << (int)x.location << ")";
|
|
return out;
|
|
}
|
|
|
|
void MoveShardLeaderResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void MoveShardLeaderResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void MoveShardLeaderResp::clear() {
|
|
}
|
|
bool MoveShardLeaderResp::operator==(const MoveShardLeaderResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MoveShardLeaderResp& x) {
|
|
out << "MoveShardLeaderResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void ClearShardInfoReq::pack(BincodeBuf& buf) const {
|
|
shrid.pack(buf);
|
|
buf.packScalar<uint8_t>(location);
|
|
}
|
|
void ClearShardInfoReq::unpack(BincodeBuf& buf) {
|
|
shrid.unpack(buf);
|
|
location = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void ClearShardInfoReq::clear() {
|
|
shrid = ShardReplicaId();
|
|
location = uint8_t(0);
|
|
}
|
|
bool ClearShardInfoReq::operator==(const ClearShardInfoReq& rhs) const {
|
|
if ((ShardReplicaId)this->shrid != (ShardReplicaId)rhs.shrid) { return false; };
|
|
if ((uint8_t)this->location != (uint8_t)rhs.location) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ClearShardInfoReq& x) {
|
|
out << "ClearShardInfoReq(" << "Shrid=" << x.shrid << ", " << "Location=" << (int)x.location << ")";
|
|
return out;
|
|
}
|
|
|
|
void ClearShardInfoResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void ClearShardInfoResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void ClearShardInfoResp::clear() {
|
|
}
|
|
bool ClearShardInfoResp::operator==(const ClearShardInfoResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ClearShardInfoResp& x) {
|
|
out << "ClearShardInfoResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void ShardBlockServicesReq::pack(BincodeBuf& buf) const {
|
|
shardId.pack(buf);
|
|
}
|
|
void ShardBlockServicesReq::unpack(BincodeBuf& buf) {
|
|
shardId.unpack(buf);
|
|
}
|
|
void ShardBlockServicesReq::clear() {
|
|
shardId = ShardId();
|
|
}
|
|
bool ShardBlockServicesReq::operator==(const ShardBlockServicesReq& rhs) const {
|
|
if ((ShardId)this->shardId != (ShardId)rhs.shardId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ShardBlockServicesReq& x) {
|
|
out << "ShardBlockServicesReq(" << "ShardId=" << x.shardId << ")";
|
|
return out;
|
|
}
|
|
|
|
void ShardBlockServicesResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<BlockServiceInfoShort>(blockServices);
|
|
}
|
|
void ShardBlockServicesResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<BlockServiceInfoShort>(blockServices);
|
|
}
|
|
void ShardBlockServicesResp::clear() {
|
|
blockServices.clear();
|
|
}
|
|
bool ShardBlockServicesResp::operator==(const ShardBlockServicesResp& rhs) const {
|
|
if (blockServices != rhs.blockServices) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ShardBlockServicesResp& x) {
|
|
out << "ShardBlockServicesResp(" << "BlockServices=" << x.blockServices << ")";
|
|
return out;
|
|
}
|
|
|
|
void AllCdcReq::pack(BincodeBuf& buf) const {
|
|
}
|
|
void AllCdcReq::unpack(BincodeBuf& buf) {
|
|
}
|
|
void AllCdcReq::clear() {
|
|
}
|
|
bool AllCdcReq::operator==(const AllCdcReq& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AllCdcReq& x) {
|
|
out << "AllCdcReq(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void AllCdcResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<CdcInfo>(replicas);
|
|
}
|
|
void AllCdcResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<CdcInfo>(replicas);
|
|
}
|
|
void AllCdcResp::clear() {
|
|
replicas.clear();
|
|
}
|
|
bool AllCdcResp::operator==(const AllCdcResp& rhs) const {
|
|
if (replicas != rhs.replicas) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AllCdcResp& x) {
|
|
out << "AllCdcResp(" << "Replicas=" << x.replicas << ")";
|
|
return out;
|
|
}
|
|
|
|
void EraseDecommissionedBlockReq::pack(BincodeBuf& buf) const {
|
|
blockServiceId.pack(buf);
|
|
buf.packScalar<uint64_t>(blockId);
|
|
buf.packFixedBytes<8>(certificate);
|
|
}
|
|
void EraseDecommissionedBlockReq::unpack(BincodeBuf& buf) {
|
|
blockServiceId.unpack(buf);
|
|
blockId = buf.unpackScalar<uint64_t>();
|
|
buf.unpackFixedBytes<8>(certificate);
|
|
}
|
|
void EraseDecommissionedBlockReq::clear() {
|
|
blockServiceId = BlockServiceId(0);
|
|
blockId = uint64_t(0);
|
|
certificate.clear();
|
|
}
|
|
bool EraseDecommissionedBlockReq::operator==(const EraseDecommissionedBlockReq& rhs) const {
|
|
if ((BlockServiceId)this->blockServiceId != (BlockServiceId)rhs.blockServiceId) { return false; };
|
|
if ((uint64_t)this->blockId != (uint64_t)rhs.blockId) { return false; };
|
|
if (certificate != rhs.certificate) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const EraseDecommissionedBlockReq& x) {
|
|
out << "EraseDecommissionedBlockReq(" << "BlockServiceId=" << x.blockServiceId << ", " << "BlockId=" << x.blockId << ", " << "Certificate=" << x.certificate << ")";
|
|
return out;
|
|
}
|
|
|
|
void EraseDecommissionedBlockResp::pack(BincodeBuf& buf) const {
|
|
buf.packFixedBytes<8>(proof);
|
|
}
|
|
void EraseDecommissionedBlockResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackFixedBytes<8>(proof);
|
|
}
|
|
void EraseDecommissionedBlockResp::clear() {
|
|
proof.clear();
|
|
}
|
|
bool EraseDecommissionedBlockResp::operator==(const EraseDecommissionedBlockResp& rhs) const {
|
|
if (proof != rhs.proof) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const EraseDecommissionedBlockResp& x) {
|
|
out << "EraseDecommissionedBlockResp(" << "Proof=" << x.proof << ")";
|
|
return out;
|
|
}
|
|
|
|
void AllBlockServicesDeprecatedReq::pack(BincodeBuf& buf) const {
|
|
}
|
|
void AllBlockServicesDeprecatedReq::unpack(BincodeBuf& buf) {
|
|
}
|
|
void AllBlockServicesDeprecatedReq::clear() {
|
|
}
|
|
bool AllBlockServicesDeprecatedReq::operator==(const AllBlockServicesDeprecatedReq& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AllBlockServicesDeprecatedReq& x) {
|
|
out << "AllBlockServicesDeprecatedReq(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void AllBlockServicesDeprecatedResp::pack(BincodeBuf& buf) const {
|
|
buf.packList<BlockServiceDeprecatedInfo>(blockServices);
|
|
}
|
|
void AllBlockServicesDeprecatedResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackList<BlockServiceDeprecatedInfo>(blockServices);
|
|
}
|
|
void AllBlockServicesDeprecatedResp::clear() {
|
|
blockServices.clear();
|
|
}
|
|
bool AllBlockServicesDeprecatedResp::operator==(const AllBlockServicesDeprecatedResp& rhs) const {
|
|
if (blockServices != rhs.blockServices) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AllBlockServicesDeprecatedResp& x) {
|
|
out << "AllBlockServicesDeprecatedResp(" << "BlockServices=" << x.blockServices << ")";
|
|
return out;
|
|
}
|
|
|
|
void MoveCdcLeaderReq::pack(BincodeBuf& buf) const {
|
|
replica.pack(buf);
|
|
buf.packScalar<uint8_t>(location);
|
|
}
|
|
void MoveCdcLeaderReq::unpack(BincodeBuf& buf) {
|
|
replica.unpack(buf);
|
|
location = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void MoveCdcLeaderReq::clear() {
|
|
replica = ReplicaId();
|
|
location = uint8_t(0);
|
|
}
|
|
bool MoveCdcLeaderReq::operator==(const MoveCdcLeaderReq& rhs) const {
|
|
if ((ReplicaId)this->replica != (ReplicaId)rhs.replica) { return false; };
|
|
if ((uint8_t)this->location != (uint8_t)rhs.location) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MoveCdcLeaderReq& x) {
|
|
out << "MoveCdcLeaderReq(" << "Replica=" << x.replica << ", " << "Location=" << (int)x.location << ")";
|
|
return out;
|
|
}
|
|
|
|
void MoveCdcLeaderResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void MoveCdcLeaderResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void MoveCdcLeaderResp::clear() {
|
|
}
|
|
bool MoveCdcLeaderResp::operator==(const MoveCdcLeaderResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MoveCdcLeaderResp& x) {
|
|
out << "MoveCdcLeaderResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void ClearCdcInfoReq::pack(BincodeBuf& buf) const {
|
|
replica.pack(buf);
|
|
buf.packScalar<uint8_t>(location);
|
|
}
|
|
void ClearCdcInfoReq::unpack(BincodeBuf& buf) {
|
|
replica.unpack(buf);
|
|
location = buf.unpackScalar<uint8_t>();
|
|
}
|
|
void ClearCdcInfoReq::clear() {
|
|
replica = ReplicaId();
|
|
location = uint8_t(0);
|
|
}
|
|
bool ClearCdcInfoReq::operator==(const ClearCdcInfoReq& rhs) const {
|
|
if ((ReplicaId)this->replica != (ReplicaId)rhs.replica) { return false; };
|
|
if ((uint8_t)this->location != (uint8_t)rhs.location) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ClearCdcInfoReq& x) {
|
|
out << "ClearCdcInfoReq(" << "Replica=" << x.replica << ", " << "Location=" << (int)x.location << ")";
|
|
return out;
|
|
}
|
|
|
|
void ClearCdcInfoResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void ClearCdcInfoResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void ClearCdcInfoResp::clear() {
|
|
}
|
|
bool ClearCdcInfoResp::operator==(const ClearCdcInfoResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ClearCdcInfoResp& x) {
|
|
out << "ClearCdcInfoResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void UpdateBlockServicePathReq::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packBytes(newPath);
|
|
}
|
|
void UpdateBlockServicePathReq::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
buf.unpackBytes(newPath);
|
|
}
|
|
void UpdateBlockServicePathReq::clear() {
|
|
id = BlockServiceId(0);
|
|
newPath.clear();
|
|
}
|
|
bool UpdateBlockServicePathReq::operator==(const UpdateBlockServicePathReq& rhs) const {
|
|
if ((BlockServiceId)this->id != (BlockServiceId)rhs.id) { return false; };
|
|
if (newPath != rhs.newPath) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const UpdateBlockServicePathReq& x) {
|
|
out << "UpdateBlockServicePathReq(" << "Id=" << x.id << ", " << "NewPath=" << GoLangQuotedStringFmt(x.newPath.data(), x.newPath.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void UpdateBlockServicePathResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void UpdateBlockServicePathResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void UpdateBlockServicePathResp::clear() {
|
|
}
|
|
bool UpdateBlockServicePathResp::operator==(const UpdateBlockServicePathResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const UpdateBlockServicePathResp& x) {
|
|
out << "UpdateBlockServicePathResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchBlockReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(blockId);
|
|
buf.packScalar<uint32_t>(offset);
|
|
buf.packScalar<uint32_t>(count);
|
|
}
|
|
void FetchBlockReq::unpack(BincodeBuf& buf) {
|
|
blockId = buf.unpackScalar<uint64_t>();
|
|
offset = buf.unpackScalar<uint32_t>();
|
|
count = buf.unpackScalar<uint32_t>();
|
|
}
|
|
void FetchBlockReq::clear() {
|
|
blockId = uint64_t(0);
|
|
offset = uint32_t(0);
|
|
count = uint32_t(0);
|
|
}
|
|
bool FetchBlockReq::operator==(const FetchBlockReq& rhs) const {
|
|
if ((uint64_t)this->blockId != (uint64_t)rhs.blockId) { return false; };
|
|
if ((uint32_t)this->offset != (uint32_t)rhs.offset) { return false; };
|
|
if ((uint32_t)this->count != (uint32_t)rhs.count) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchBlockReq& x) {
|
|
out << "FetchBlockReq(" << "BlockId=" << x.blockId << ", " << "Offset=" << x.offset << ", " << "Count=" << x.count << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchBlockResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void FetchBlockResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void FetchBlockResp::clear() {
|
|
}
|
|
bool FetchBlockResp::operator==(const FetchBlockResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchBlockResp& x) {
|
|
out << "FetchBlockResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void WriteBlockReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(blockId);
|
|
crc.pack(buf);
|
|
buf.packScalar<uint32_t>(size);
|
|
buf.packFixedBytes<8>(certificate);
|
|
}
|
|
void WriteBlockReq::unpack(BincodeBuf& buf) {
|
|
blockId = buf.unpackScalar<uint64_t>();
|
|
crc.unpack(buf);
|
|
size = buf.unpackScalar<uint32_t>();
|
|
buf.unpackFixedBytes<8>(certificate);
|
|
}
|
|
void WriteBlockReq::clear() {
|
|
blockId = uint64_t(0);
|
|
crc = Crc(0);
|
|
size = uint32_t(0);
|
|
certificate.clear();
|
|
}
|
|
bool WriteBlockReq::operator==(const WriteBlockReq& rhs) const {
|
|
if ((uint64_t)this->blockId != (uint64_t)rhs.blockId) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
if ((uint32_t)this->size != (uint32_t)rhs.size) { return false; };
|
|
if (certificate != rhs.certificate) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const WriteBlockReq& x) {
|
|
out << "WriteBlockReq(" << "BlockId=" << x.blockId << ", " << "Crc=" << x.crc << ", " << "Size=" << x.size << ", " << "Certificate=" << x.certificate << ")";
|
|
return out;
|
|
}
|
|
|
|
void WriteBlockResp::pack(BincodeBuf& buf) const {
|
|
buf.packFixedBytes<8>(proof);
|
|
}
|
|
void WriteBlockResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackFixedBytes<8>(proof);
|
|
}
|
|
void WriteBlockResp::clear() {
|
|
proof.clear();
|
|
}
|
|
bool WriteBlockResp::operator==(const WriteBlockResp& rhs) const {
|
|
if (proof != rhs.proof) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const WriteBlockResp& x) {
|
|
out << "WriteBlockResp(" << "Proof=" << x.proof << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchBlockWithCrcReq::pack(BincodeBuf& buf) const {
|
|
fileIdUnused.pack(buf);
|
|
buf.packScalar<uint64_t>(blockId);
|
|
blockCrcUnused.pack(buf);
|
|
buf.packScalar<uint32_t>(offset);
|
|
buf.packScalar<uint32_t>(count);
|
|
}
|
|
void FetchBlockWithCrcReq::unpack(BincodeBuf& buf) {
|
|
fileIdUnused.unpack(buf);
|
|
blockId = buf.unpackScalar<uint64_t>();
|
|
blockCrcUnused.unpack(buf);
|
|
offset = buf.unpackScalar<uint32_t>();
|
|
count = buf.unpackScalar<uint32_t>();
|
|
}
|
|
void FetchBlockWithCrcReq::clear() {
|
|
fileIdUnused = InodeId();
|
|
blockId = uint64_t(0);
|
|
blockCrcUnused = Crc(0);
|
|
offset = uint32_t(0);
|
|
count = uint32_t(0);
|
|
}
|
|
bool FetchBlockWithCrcReq::operator==(const FetchBlockWithCrcReq& rhs) const {
|
|
if ((InodeId)this->fileIdUnused != (InodeId)rhs.fileIdUnused) { return false; };
|
|
if ((uint64_t)this->blockId != (uint64_t)rhs.blockId) { return false; };
|
|
if ((Crc)this->blockCrcUnused != (Crc)rhs.blockCrcUnused) { return false; };
|
|
if ((uint32_t)this->offset != (uint32_t)rhs.offset) { return false; };
|
|
if ((uint32_t)this->count != (uint32_t)rhs.count) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchBlockWithCrcReq& x) {
|
|
out << "FetchBlockWithCrcReq(" << "FileIdUnused=" << x.fileIdUnused << ", " << "BlockId=" << x.blockId << ", " << "BlockCrcUnused=" << x.blockCrcUnused << ", " << "Offset=" << x.offset << ", " << "Count=" << x.count << ")";
|
|
return out;
|
|
}
|
|
|
|
void FetchBlockWithCrcResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void FetchBlockWithCrcResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void FetchBlockWithCrcResp::clear() {
|
|
}
|
|
bool FetchBlockWithCrcResp::operator==(const FetchBlockWithCrcResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const FetchBlockWithCrcResp& x) {
|
|
out << "FetchBlockWithCrcResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void EraseBlockReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(blockId);
|
|
buf.packFixedBytes<8>(certificate);
|
|
}
|
|
void EraseBlockReq::unpack(BincodeBuf& buf) {
|
|
blockId = buf.unpackScalar<uint64_t>();
|
|
buf.unpackFixedBytes<8>(certificate);
|
|
}
|
|
void EraseBlockReq::clear() {
|
|
blockId = uint64_t(0);
|
|
certificate.clear();
|
|
}
|
|
bool EraseBlockReq::operator==(const EraseBlockReq& rhs) const {
|
|
if ((uint64_t)this->blockId != (uint64_t)rhs.blockId) { return false; };
|
|
if (certificate != rhs.certificate) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const EraseBlockReq& x) {
|
|
out << "EraseBlockReq(" << "BlockId=" << x.blockId << ", " << "Certificate=" << x.certificate << ")";
|
|
return out;
|
|
}
|
|
|
|
void EraseBlockResp::pack(BincodeBuf& buf) const {
|
|
buf.packFixedBytes<8>(proof);
|
|
}
|
|
void EraseBlockResp::unpack(BincodeBuf& buf) {
|
|
buf.unpackFixedBytes<8>(proof);
|
|
}
|
|
void EraseBlockResp::clear() {
|
|
proof.clear();
|
|
}
|
|
bool EraseBlockResp::operator==(const EraseBlockResp& rhs) const {
|
|
if (proof != rhs.proof) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const EraseBlockResp& x) {
|
|
out << "EraseBlockResp(" << "Proof=" << x.proof << ")";
|
|
return out;
|
|
}
|
|
|
|
void TestWriteReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(size);
|
|
}
|
|
void TestWriteReq::unpack(BincodeBuf& buf) {
|
|
size = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void TestWriteReq::clear() {
|
|
size = uint64_t(0);
|
|
}
|
|
bool TestWriteReq::operator==(const TestWriteReq& rhs) const {
|
|
if ((uint64_t)this->size != (uint64_t)rhs.size) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const TestWriteReq& x) {
|
|
out << "TestWriteReq(" << "Size=" << x.size << ")";
|
|
return out;
|
|
}
|
|
|
|
void TestWriteResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void TestWriteResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void TestWriteResp::clear() {
|
|
}
|
|
bool TestWriteResp::operator==(const TestWriteResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const TestWriteResp& x) {
|
|
out << "TestWriteResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void CheckBlockReq::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint64_t>(blockId);
|
|
buf.packScalar<uint32_t>(size);
|
|
crc.pack(buf);
|
|
}
|
|
void CheckBlockReq::unpack(BincodeBuf& buf) {
|
|
blockId = buf.unpackScalar<uint64_t>();
|
|
size = buf.unpackScalar<uint32_t>();
|
|
crc.unpack(buf);
|
|
}
|
|
void CheckBlockReq::clear() {
|
|
blockId = uint64_t(0);
|
|
size = uint32_t(0);
|
|
crc = Crc(0);
|
|
}
|
|
bool CheckBlockReq::operator==(const CheckBlockReq& rhs) const {
|
|
if ((uint64_t)this->blockId != (uint64_t)rhs.blockId) { return false; };
|
|
if ((uint32_t)this->size != (uint32_t)rhs.size) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CheckBlockReq& x) {
|
|
out << "CheckBlockReq(" << "BlockId=" << x.blockId << ", " << "Size=" << x.size << ", " << "Crc=" << x.crc << ")";
|
|
return out;
|
|
}
|
|
|
|
void CheckBlockResp::pack(BincodeBuf& buf) const {
|
|
}
|
|
void CheckBlockResp::unpack(BincodeBuf& buf) {
|
|
}
|
|
void CheckBlockResp::clear() {
|
|
}
|
|
bool CheckBlockResp::operator==(const CheckBlockResp& rhs) const {
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CheckBlockResp& x) {
|
|
out << "CheckBlockResp(" << ")";
|
|
return out;
|
|
}
|
|
|
|
void LogWriteReq::pack(BincodeBuf& buf) const {
|
|
token.pack(buf);
|
|
lastReleased.pack(buf);
|
|
idx.pack(buf);
|
|
buf.packList<uint8_t>(value);
|
|
}
|
|
void LogWriteReq::unpack(BincodeBuf& buf) {
|
|
token.unpack(buf);
|
|
lastReleased.unpack(buf);
|
|
idx.unpack(buf);
|
|
buf.unpackList<uint8_t>(value);
|
|
}
|
|
void LogWriteReq::clear() {
|
|
token = LeaderToken();
|
|
lastReleased = LogIdx();
|
|
idx = LogIdx();
|
|
value.clear();
|
|
}
|
|
bool LogWriteReq::operator==(const LogWriteReq& rhs) const {
|
|
if ((LeaderToken)this->token != (LeaderToken)rhs.token) { return false; };
|
|
if ((LogIdx)this->lastReleased != (LogIdx)rhs.lastReleased) { return false; };
|
|
if ((LogIdx)this->idx != (LogIdx)rhs.idx) { return false; };
|
|
if (value != rhs.value) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LogWriteReq& x) {
|
|
out << "LogWriteReq(" << "Token=" << x.token << ", " << "LastReleased=" << x.lastReleased << ", " << "Idx=" << x.idx << ", " << "Value=" << x.value << ")";
|
|
return out;
|
|
}
|
|
|
|
void LogWriteResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<TernError>(result);
|
|
}
|
|
void LogWriteResp::unpack(BincodeBuf& buf) {
|
|
result = buf.unpackScalar<TernError>();
|
|
}
|
|
void LogWriteResp::clear() {
|
|
result = TernError(0);
|
|
}
|
|
bool LogWriteResp::operator==(const LogWriteResp& rhs) const {
|
|
if ((TernError)this->result != (TernError)rhs.result) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LogWriteResp& x) {
|
|
out << "LogWriteResp(" << "Result=" << x.result << ")";
|
|
return out;
|
|
}
|
|
|
|
void ReleaseReq::pack(BincodeBuf& buf) const {
|
|
token.pack(buf);
|
|
lastReleased.pack(buf);
|
|
}
|
|
void ReleaseReq::unpack(BincodeBuf& buf) {
|
|
token.unpack(buf);
|
|
lastReleased.unpack(buf);
|
|
}
|
|
void ReleaseReq::clear() {
|
|
token = LeaderToken();
|
|
lastReleased = LogIdx();
|
|
}
|
|
bool ReleaseReq::operator==(const ReleaseReq& rhs) const {
|
|
if ((LeaderToken)this->token != (LeaderToken)rhs.token) { return false; };
|
|
if ((LogIdx)this->lastReleased != (LogIdx)rhs.lastReleased) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ReleaseReq& x) {
|
|
out << "ReleaseReq(" << "Token=" << x.token << ", " << "LastReleased=" << x.lastReleased << ")";
|
|
return out;
|
|
}
|
|
|
|
void ReleaseResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<TernError>(result);
|
|
}
|
|
void ReleaseResp::unpack(BincodeBuf& buf) {
|
|
result = buf.unpackScalar<TernError>();
|
|
}
|
|
void ReleaseResp::clear() {
|
|
result = TernError(0);
|
|
}
|
|
bool ReleaseResp::operator==(const ReleaseResp& rhs) const {
|
|
if ((TernError)this->result != (TernError)rhs.result) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ReleaseResp& x) {
|
|
out << "ReleaseResp(" << "Result=" << x.result << ")";
|
|
return out;
|
|
}
|
|
|
|
void LogReadReq::pack(BincodeBuf& buf) const {
|
|
idx.pack(buf);
|
|
}
|
|
void LogReadReq::unpack(BincodeBuf& buf) {
|
|
idx.unpack(buf);
|
|
}
|
|
void LogReadReq::clear() {
|
|
idx = LogIdx();
|
|
}
|
|
bool LogReadReq::operator==(const LogReadReq& rhs) const {
|
|
if ((LogIdx)this->idx != (LogIdx)rhs.idx) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LogReadReq& x) {
|
|
out << "LogReadReq(" << "Idx=" << x.idx << ")";
|
|
return out;
|
|
}
|
|
|
|
void LogReadResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<TernError>(result);
|
|
buf.packList<uint8_t>(value);
|
|
}
|
|
void LogReadResp::unpack(BincodeBuf& buf) {
|
|
result = buf.unpackScalar<TernError>();
|
|
buf.unpackList<uint8_t>(value);
|
|
}
|
|
void LogReadResp::clear() {
|
|
result = TernError(0);
|
|
value.clear();
|
|
}
|
|
bool LogReadResp::operator==(const LogReadResp& rhs) const {
|
|
if ((TernError)this->result != (TernError)rhs.result) { return false; };
|
|
if (value != rhs.value) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LogReadResp& x) {
|
|
out << "LogReadResp(" << "Result=" << x.result << ", " << "Value=" << x.value << ")";
|
|
return out;
|
|
}
|
|
|
|
void NewLeaderReq::pack(BincodeBuf& buf) const {
|
|
nomineeToken.pack(buf);
|
|
}
|
|
void NewLeaderReq::unpack(BincodeBuf& buf) {
|
|
nomineeToken.unpack(buf);
|
|
}
|
|
void NewLeaderReq::clear() {
|
|
nomineeToken = LeaderToken();
|
|
}
|
|
bool NewLeaderReq::operator==(const NewLeaderReq& rhs) const {
|
|
if ((LeaderToken)this->nomineeToken != (LeaderToken)rhs.nomineeToken) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const NewLeaderReq& x) {
|
|
out << "NewLeaderReq(" << "NomineeToken=" << x.nomineeToken << ")";
|
|
return out;
|
|
}
|
|
|
|
void NewLeaderResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<TernError>(result);
|
|
lastReleased.pack(buf);
|
|
}
|
|
void NewLeaderResp::unpack(BincodeBuf& buf) {
|
|
result = buf.unpackScalar<TernError>();
|
|
lastReleased.unpack(buf);
|
|
}
|
|
void NewLeaderResp::clear() {
|
|
result = TernError(0);
|
|
lastReleased = LogIdx();
|
|
}
|
|
bool NewLeaderResp::operator==(const NewLeaderResp& rhs) const {
|
|
if ((TernError)this->result != (TernError)rhs.result) { return false; };
|
|
if ((LogIdx)this->lastReleased != (LogIdx)rhs.lastReleased) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const NewLeaderResp& x) {
|
|
out << "NewLeaderResp(" << "Result=" << x.result << ", " << "LastReleased=" << x.lastReleased << ")";
|
|
return out;
|
|
}
|
|
|
|
void NewLeaderConfirmReq::pack(BincodeBuf& buf) const {
|
|
nomineeToken.pack(buf);
|
|
releasedIdx.pack(buf);
|
|
}
|
|
void NewLeaderConfirmReq::unpack(BincodeBuf& buf) {
|
|
nomineeToken.unpack(buf);
|
|
releasedIdx.unpack(buf);
|
|
}
|
|
void NewLeaderConfirmReq::clear() {
|
|
nomineeToken = LeaderToken();
|
|
releasedIdx = LogIdx();
|
|
}
|
|
bool NewLeaderConfirmReq::operator==(const NewLeaderConfirmReq& rhs) const {
|
|
if ((LeaderToken)this->nomineeToken != (LeaderToken)rhs.nomineeToken) { return false; };
|
|
if ((LogIdx)this->releasedIdx != (LogIdx)rhs.releasedIdx) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const NewLeaderConfirmReq& x) {
|
|
out << "NewLeaderConfirmReq(" << "NomineeToken=" << x.nomineeToken << ", " << "ReleasedIdx=" << x.releasedIdx << ")";
|
|
return out;
|
|
}
|
|
|
|
void NewLeaderConfirmResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<TernError>(result);
|
|
}
|
|
void NewLeaderConfirmResp::unpack(BincodeBuf& buf) {
|
|
result = buf.unpackScalar<TernError>();
|
|
}
|
|
void NewLeaderConfirmResp::clear() {
|
|
result = TernError(0);
|
|
}
|
|
bool NewLeaderConfirmResp::operator==(const NewLeaderConfirmResp& rhs) const {
|
|
if ((TernError)this->result != (TernError)rhs.result) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const NewLeaderConfirmResp& x) {
|
|
out << "NewLeaderConfirmResp(" << "Result=" << x.result << ")";
|
|
return out;
|
|
}
|
|
|
|
void LogRecoveryReadReq::pack(BincodeBuf& buf) const {
|
|
nomineeToken.pack(buf);
|
|
idx.pack(buf);
|
|
}
|
|
void LogRecoveryReadReq::unpack(BincodeBuf& buf) {
|
|
nomineeToken.unpack(buf);
|
|
idx.unpack(buf);
|
|
}
|
|
void LogRecoveryReadReq::clear() {
|
|
nomineeToken = LeaderToken();
|
|
idx = LogIdx();
|
|
}
|
|
bool LogRecoveryReadReq::operator==(const LogRecoveryReadReq& rhs) const {
|
|
if ((LeaderToken)this->nomineeToken != (LeaderToken)rhs.nomineeToken) { return false; };
|
|
if ((LogIdx)this->idx != (LogIdx)rhs.idx) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LogRecoveryReadReq& x) {
|
|
out << "LogRecoveryReadReq(" << "NomineeToken=" << x.nomineeToken << ", " << "Idx=" << x.idx << ")";
|
|
return out;
|
|
}
|
|
|
|
void LogRecoveryReadResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<TernError>(result);
|
|
buf.packList<uint8_t>(value);
|
|
}
|
|
void LogRecoveryReadResp::unpack(BincodeBuf& buf) {
|
|
result = buf.unpackScalar<TernError>();
|
|
buf.unpackList<uint8_t>(value);
|
|
}
|
|
void LogRecoveryReadResp::clear() {
|
|
result = TernError(0);
|
|
value.clear();
|
|
}
|
|
bool LogRecoveryReadResp::operator==(const LogRecoveryReadResp& rhs) const {
|
|
if ((TernError)this->result != (TernError)rhs.result) { return false; };
|
|
if (value != rhs.value) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LogRecoveryReadResp& x) {
|
|
out << "LogRecoveryReadResp(" << "Result=" << x.result << ", " << "Value=" << x.value << ")";
|
|
return out;
|
|
}
|
|
|
|
void LogRecoveryWriteReq::pack(BincodeBuf& buf) const {
|
|
nomineeToken.pack(buf);
|
|
idx.pack(buf);
|
|
buf.packList<uint8_t>(value);
|
|
}
|
|
void LogRecoveryWriteReq::unpack(BincodeBuf& buf) {
|
|
nomineeToken.unpack(buf);
|
|
idx.unpack(buf);
|
|
buf.unpackList<uint8_t>(value);
|
|
}
|
|
void LogRecoveryWriteReq::clear() {
|
|
nomineeToken = LeaderToken();
|
|
idx = LogIdx();
|
|
value.clear();
|
|
}
|
|
bool LogRecoveryWriteReq::operator==(const LogRecoveryWriteReq& rhs) const {
|
|
if ((LeaderToken)this->nomineeToken != (LeaderToken)rhs.nomineeToken) { return false; };
|
|
if ((LogIdx)this->idx != (LogIdx)rhs.idx) { return false; };
|
|
if (value != rhs.value) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LogRecoveryWriteReq& x) {
|
|
out << "LogRecoveryWriteReq(" << "NomineeToken=" << x.nomineeToken << ", " << "Idx=" << x.idx << ", " << "Value=" << x.value << ")";
|
|
return out;
|
|
}
|
|
|
|
void LogRecoveryWriteResp::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<TernError>(result);
|
|
}
|
|
void LogRecoveryWriteResp::unpack(BincodeBuf& buf) {
|
|
result = buf.unpackScalar<TernError>();
|
|
}
|
|
void LogRecoveryWriteResp::clear() {
|
|
result = TernError(0);
|
|
}
|
|
bool LogRecoveryWriteResp::operator==(const LogRecoveryWriteResp& rhs) const {
|
|
if ((TernError)this->result != (TernError)rhs.result) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LogRecoveryWriteResp& x) {
|
|
out << "LogRecoveryWriteResp(" << "Result=" << x.result << ")";
|
|
return out;
|
|
}
|
|
|
|
const LookupReq& ShardReqContainer::getLookup() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::LOOKUP, "%s != %s", _kind, ShardMessageKind::LOOKUP);
|
|
return std::get<0>(_data);
|
|
}
|
|
LookupReq& ShardReqContainer::setLookup() {
|
|
_kind = ShardMessageKind::LOOKUP;
|
|
auto& x = _data.emplace<0>();
|
|
return x;
|
|
}
|
|
const StatFileReq& ShardReqContainer::getStatFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::STAT_FILE, "%s != %s", _kind, ShardMessageKind::STAT_FILE);
|
|
return std::get<1>(_data);
|
|
}
|
|
StatFileReq& ShardReqContainer::setStatFile() {
|
|
_kind = ShardMessageKind::STAT_FILE;
|
|
auto& x = _data.emplace<1>();
|
|
return x;
|
|
}
|
|
const StatDirectoryReq& ShardReqContainer::getStatDirectory() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::STAT_DIRECTORY, "%s != %s", _kind, ShardMessageKind::STAT_DIRECTORY);
|
|
return std::get<2>(_data);
|
|
}
|
|
StatDirectoryReq& ShardReqContainer::setStatDirectory() {
|
|
_kind = ShardMessageKind::STAT_DIRECTORY;
|
|
auto& x = _data.emplace<2>();
|
|
return x;
|
|
}
|
|
const ReadDirReq& ShardReqContainer::getReadDir() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::READ_DIR, "%s != %s", _kind, ShardMessageKind::READ_DIR);
|
|
return std::get<3>(_data);
|
|
}
|
|
ReadDirReq& ShardReqContainer::setReadDir() {
|
|
_kind = ShardMessageKind::READ_DIR;
|
|
auto& x = _data.emplace<3>();
|
|
return x;
|
|
}
|
|
const ConstructFileReq& ShardReqContainer::getConstructFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::CONSTRUCT_FILE, "%s != %s", _kind, ShardMessageKind::CONSTRUCT_FILE);
|
|
return std::get<4>(_data);
|
|
}
|
|
ConstructFileReq& ShardReqContainer::setConstructFile() {
|
|
_kind = ShardMessageKind::CONSTRUCT_FILE;
|
|
auto& x = _data.emplace<4>();
|
|
return x;
|
|
}
|
|
const AddSpanInitiateReq& ShardReqContainer::getAddSpanInitiate() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_SPAN_INITIATE, "%s != %s", _kind, ShardMessageKind::ADD_SPAN_INITIATE);
|
|
return std::get<5>(_data);
|
|
}
|
|
AddSpanInitiateReq& ShardReqContainer::setAddSpanInitiate() {
|
|
_kind = ShardMessageKind::ADD_SPAN_INITIATE;
|
|
auto& x = _data.emplace<5>();
|
|
return x;
|
|
}
|
|
const AddSpanCertifyReq& ShardReqContainer::getAddSpanCertify() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_SPAN_CERTIFY, "%s != %s", _kind, ShardMessageKind::ADD_SPAN_CERTIFY);
|
|
return std::get<6>(_data);
|
|
}
|
|
AddSpanCertifyReq& ShardReqContainer::setAddSpanCertify() {
|
|
_kind = ShardMessageKind::ADD_SPAN_CERTIFY;
|
|
auto& x = _data.emplace<6>();
|
|
return x;
|
|
}
|
|
const LinkFileReq& ShardReqContainer::getLinkFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::LINK_FILE, "%s != %s", _kind, ShardMessageKind::LINK_FILE);
|
|
return std::get<7>(_data);
|
|
}
|
|
LinkFileReq& ShardReqContainer::setLinkFile() {
|
|
_kind = ShardMessageKind::LINK_FILE;
|
|
auto& x = _data.emplace<7>();
|
|
return x;
|
|
}
|
|
const SoftUnlinkFileReq& ShardReqContainer::getSoftUnlinkFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SOFT_UNLINK_FILE, "%s != %s", _kind, ShardMessageKind::SOFT_UNLINK_FILE);
|
|
return std::get<8>(_data);
|
|
}
|
|
SoftUnlinkFileReq& ShardReqContainer::setSoftUnlinkFile() {
|
|
_kind = ShardMessageKind::SOFT_UNLINK_FILE;
|
|
auto& x = _data.emplace<8>();
|
|
return x;
|
|
}
|
|
const LocalFileSpansReq& ShardReqContainer::getLocalFileSpans() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::LOCAL_FILE_SPANS, "%s != %s", _kind, ShardMessageKind::LOCAL_FILE_SPANS);
|
|
return std::get<9>(_data);
|
|
}
|
|
LocalFileSpansReq& ShardReqContainer::setLocalFileSpans() {
|
|
_kind = ShardMessageKind::LOCAL_FILE_SPANS;
|
|
auto& x = _data.emplace<9>();
|
|
return x;
|
|
}
|
|
const SameDirectoryRenameReq& ShardReqContainer::getSameDirectoryRename() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SAME_DIRECTORY_RENAME, "%s != %s", _kind, ShardMessageKind::SAME_DIRECTORY_RENAME);
|
|
return std::get<10>(_data);
|
|
}
|
|
SameDirectoryRenameReq& ShardReqContainer::setSameDirectoryRename() {
|
|
_kind = ShardMessageKind::SAME_DIRECTORY_RENAME;
|
|
auto& x = _data.emplace<10>();
|
|
return x;
|
|
}
|
|
const AddInlineSpanReq& ShardReqContainer::getAddInlineSpan() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_INLINE_SPAN, "%s != %s", _kind, ShardMessageKind::ADD_INLINE_SPAN);
|
|
return std::get<11>(_data);
|
|
}
|
|
AddInlineSpanReq& ShardReqContainer::setAddInlineSpan() {
|
|
_kind = ShardMessageKind::ADD_INLINE_SPAN;
|
|
auto& x = _data.emplace<11>();
|
|
return x;
|
|
}
|
|
const SetTimeReq& ShardReqContainer::getSetTime() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SET_TIME, "%s != %s", _kind, ShardMessageKind::SET_TIME);
|
|
return std::get<12>(_data);
|
|
}
|
|
SetTimeReq& ShardReqContainer::setSetTime() {
|
|
_kind = ShardMessageKind::SET_TIME;
|
|
auto& x = _data.emplace<12>();
|
|
return x;
|
|
}
|
|
const FullReadDirReq& ShardReqContainer::getFullReadDir() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::FULL_READ_DIR, "%s != %s", _kind, ShardMessageKind::FULL_READ_DIR);
|
|
return std::get<13>(_data);
|
|
}
|
|
FullReadDirReq& ShardReqContainer::setFullReadDir() {
|
|
_kind = ShardMessageKind::FULL_READ_DIR;
|
|
auto& x = _data.emplace<13>();
|
|
return x;
|
|
}
|
|
const MoveSpanReq& ShardReqContainer::getMoveSpan() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::MOVE_SPAN, "%s != %s", _kind, ShardMessageKind::MOVE_SPAN);
|
|
return std::get<14>(_data);
|
|
}
|
|
MoveSpanReq& ShardReqContainer::setMoveSpan() {
|
|
_kind = ShardMessageKind::MOVE_SPAN;
|
|
auto& x = _data.emplace<14>();
|
|
return x;
|
|
}
|
|
const RemoveNonOwnedEdgeReq& ShardReqContainer::getRemoveNonOwnedEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_NON_OWNED_EDGE, "%s != %s", _kind, ShardMessageKind::REMOVE_NON_OWNED_EDGE);
|
|
return std::get<15>(_data);
|
|
}
|
|
RemoveNonOwnedEdgeReq& ShardReqContainer::setRemoveNonOwnedEdge() {
|
|
_kind = ShardMessageKind::REMOVE_NON_OWNED_EDGE;
|
|
auto& x = _data.emplace<15>();
|
|
return x;
|
|
}
|
|
const SameShardHardFileUnlinkReq& ShardReqContainer::getSameShardHardFileUnlink() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK, "%s != %s", _kind, ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK);
|
|
return std::get<16>(_data);
|
|
}
|
|
SameShardHardFileUnlinkReq& ShardReqContainer::setSameShardHardFileUnlink() {
|
|
_kind = ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK;
|
|
auto& x = _data.emplace<16>();
|
|
return x;
|
|
}
|
|
const StatTransientFileReq& ShardReqContainer::getStatTransientFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::STAT_TRANSIENT_FILE, "%s != %s", _kind, ShardMessageKind::STAT_TRANSIENT_FILE);
|
|
return std::get<17>(_data);
|
|
}
|
|
StatTransientFileReq& ShardReqContainer::setStatTransientFile() {
|
|
_kind = ShardMessageKind::STAT_TRANSIENT_FILE;
|
|
auto& x = _data.emplace<17>();
|
|
return x;
|
|
}
|
|
const ShardSnapshotReq& ShardReqContainer::getShardSnapshot() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SHARD_SNAPSHOT, "%s != %s", _kind, ShardMessageKind::SHARD_SNAPSHOT);
|
|
return std::get<18>(_data);
|
|
}
|
|
ShardSnapshotReq& ShardReqContainer::setShardSnapshot() {
|
|
_kind = ShardMessageKind::SHARD_SNAPSHOT;
|
|
auto& x = _data.emplace<18>();
|
|
return x;
|
|
}
|
|
const FileSpansReq& ShardReqContainer::getFileSpans() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::FILE_SPANS, "%s != %s", _kind, ShardMessageKind::FILE_SPANS);
|
|
return std::get<19>(_data);
|
|
}
|
|
FileSpansReq& ShardReqContainer::setFileSpans() {
|
|
_kind = ShardMessageKind::FILE_SPANS;
|
|
auto& x = _data.emplace<19>();
|
|
return x;
|
|
}
|
|
const AddSpanLocationReq& ShardReqContainer::getAddSpanLocation() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_SPAN_LOCATION, "%s != %s", _kind, ShardMessageKind::ADD_SPAN_LOCATION);
|
|
return std::get<20>(_data);
|
|
}
|
|
AddSpanLocationReq& ShardReqContainer::setAddSpanLocation() {
|
|
_kind = ShardMessageKind::ADD_SPAN_LOCATION;
|
|
auto& x = _data.emplace<20>();
|
|
return x;
|
|
}
|
|
const ScrapTransientFileReq& ShardReqContainer::getScrapTransientFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SCRAP_TRANSIENT_FILE, "%s != %s", _kind, ShardMessageKind::SCRAP_TRANSIENT_FILE);
|
|
return std::get<21>(_data);
|
|
}
|
|
ScrapTransientFileReq& ShardReqContainer::setScrapTransientFile() {
|
|
_kind = ShardMessageKind::SCRAP_TRANSIENT_FILE;
|
|
auto& x = _data.emplace<21>();
|
|
return x;
|
|
}
|
|
const SetDirectoryInfoReq& ShardReqContainer::getSetDirectoryInfo() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SET_DIRECTORY_INFO, "%s != %s", _kind, ShardMessageKind::SET_DIRECTORY_INFO);
|
|
return std::get<22>(_data);
|
|
}
|
|
SetDirectoryInfoReq& ShardReqContainer::setSetDirectoryInfo() {
|
|
_kind = ShardMessageKind::SET_DIRECTORY_INFO;
|
|
auto& x = _data.emplace<22>();
|
|
return x;
|
|
}
|
|
const VisitDirectoriesReq& ShardReqContainer::getVisitDirectories() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::VISIT_DIRECTORIES, "%s != %s", _kind, ShardMessageKind::VISIT_DIRECTORIES);
|
|
return std::get<23>(_data);
|
|
}
|
|
VisitDirectoriesReq& ShardReqContainer::setVisitDirectories() {
|
|
_kind = ShardMessageKind::VISIT_DIRECTORIES;
|
|
auto& x = _data.emplace<23>();
|
|
return x;
|
|
}
|
|
const VisitFilesReq& ShardReqContainer::getVisitFiles() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::VISIT_FILES, "%s != %s", _kind, ShardMessageKind::VISIT_FILES);
|
|
return std::get<24>(_data);
|
|
}
|
|
VisitFilesReq& ShardReqContainer::setVisitFiles() {
|
|
_kind = ShardMessageKind::VISIT_FILES;
|
|
auto& x = _data.emplace<24>();
|
|
return x;
|
|
}
|
|
const VisitTransientFilesReq& ShardReqContainer::getVisitTransientFiles() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::VISIT_TRANSIENT_FILES, "%s != %s", _kind, ShardMessageKind::VISIT_TRANSIENT_FILES);
|
|
return std::get<25>(_data);
|
|
}
|
|
VisitTransientFilesReq& ShardReqContainer::setVisitTransientFiles() {
|
|
_kind = ShardMessageKind::VISIT_TRANSIENT_FILES;
|
|
auto& x = _data.emplace<25>();
|
|
return x;
|
|
}
|
|
const RemoveSpanInitiateReq& ShardReqContainer::getRemoveSpanInitiate() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_SPAN_INITIATE, "%s != %s", _kind, ShardMessageKind::REMOVE_SPAN_INITIATE);
|
|
return std::get<26>(_data);
|
|
}
|
|
RemoveSpanInitiateReq& ShardReqContainer::setRemoveSpanInitiate() {
|
|
_kind = ShardMessageKind::REMOVE_SPAN_INITIATE;
|
|
auto& x = _data.emplace<26>();
|
|
return x;
|
|
}
|
|
const RemoveSpanCertifyReq& ShardReqContainer::getRemoveSpanCertify() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_SPAN_CERTIFY, "%s != %s", _kind, ShardMessageKind::REMOVE_SPAN_CERTIFY);
|
|
return std::get<27>(_data);
|
|
}
|
|
RemoveSpanCertifyReq& ShardReqContainer::setRemoveSpanCertify() {
|
|
_kind = ShardMessageKind::REMOVE_SPAN_CERTIFY;
|
|
auto& x = _data.emplace<27>();
|
|
return x;
|
|
}
|
|
const SwapBlocksReq& ShardReqContainer::getSwapBlocks() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SWAP_BLOCKS, "%s != %s", _kind, ShardMessageKind::SWAP_BLOCKS);
|
|
return std::get<28>(_data);
|
|
}
|
|
SwapBlocksReq& ShardReqContainer::setSwapBlocks() {
|
|
_kind = ShardMessageKind::SWAP_BLOCKS;
|
|
auto& x = _data.emplace<28>();
|
|
return x;
|
|
}
|
|
const BlockServiceFilesReq& ShardReqContainer::getBlockServiceFiles() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::BLOCK_SERVICE_FILES, "%s != %s", _kind, ShardMessageKind::BLOCK_SERVICE_FILES);
|
|
return std::get<29>(_data);
|
|
}
|
|
BlockServiceFilesReq& ShardReqContainer::setBlockServiceFiles() {
|
|
_kind = ShardMessageKind::BLOCK_SERVICE_FILES;
|
|
auto& x = _data.emplace<29>();
|
|
return x;
|
|
}
|
|
const RemoveInodeReq& ShardReqContainer::getRemoveInode() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_INODE, "%s != %s", _kind, ShardMessageKind::REMOVE_INODE);
|
|
return std::get<30>(_data);
|
|
}
|
|
RemoveInodeReq& ShardReqContainer::setRemoveInode() {
|
|
_kind = ShardMessageKind::REMOVE_INODE;
|
|
auto& x = _data.emplace<30>();
|
|
return x;
|
|
}
|
|
const AddSpanInitiateWithReferenceReq& ShardReqContainer::getAddSpanInitiateWithReference() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE, "%s != %s", _kind, ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE);
|
|
return std::get<31>(_data);
|
|
}
|
|
AddSpanInitiateWithReferenceReq& ShardReqContainer::setAddSpanInitiateWithReference() {
|
|
_kind = ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE;
|
|
auto& x = _data.emplace<31>();
|
|
return x;
|
|
}
|
|
const RemoveZeroBlockServiceFilesReq& ShardReqContainer::getRemoveZeroBlockServiceFiles() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES, "%s != %s", _kind, ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES);
|
|
return std::get<32>(_data);
|
|
}
|
|
RemoveZeroBlockServiceFilesReq& ShardReqContainer::setRemoveZeroBlockServiceFiles() {
|
|
_kind = ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES;
|
|
auto& x = _data.emplace<32>();
|
|
return x;
|
|
}
|
|
const SwapSpansReq& ShardReqContainer::getSwapSpans() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SWAP_SPANS, "%s != %s", _kind, ShardMessageKind::SWAP_SPANS);
|
|
return std::get<33>(_data);
|
|
}
|
|
SwapSpansReq& ShardReqContainer::setSwapSpans() {
|
|
_kind = ShardMessageKind::SWAP_SPANS;
|
|
auto& x = _data.emplace<33>();
|
|
return x;
|
|
}
|
|
const SameDirectoryRenameSnapshotReq& ShardReqContainer::getSameDirectoryRenameSnapshot() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT, "%s != %s", _kind, ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT);
|
|
return std::get<34>(_data);
|
|
}
|
|
SameDirectoryRenameSnapshotReq& ShardReqContainer::setSameDirectoryRenameSnapshot() {
|
|
_kind = ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT;
|
|
auto& x = _data.emplace<34>();
|
|
return x;
|
|
}
|
|
const AddSpanAtLocationInitiateReq& ShardReqContainer::getAddSpanAtLocationInitiate() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE, "%s != %s", _kind, ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE);
|
|
return std::get<35>(_data);
|
|
}
|
|
AddSpanAtLocationInitiateReq& ShardReqContainer::setAddSpanAtLocationInitiate() {
|
|
_kind = ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE;
|
|
auto& x = _data.emplace<35>();
|
|
return x;
|
|
}
|
|
const CreateDirectoryInodeReq& ShardReqContainer::getCreateDirectoryInode() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::CREATE_DIRECTORY_INODE, "%s != %s", _kind, ShardMessageKind::CREATE_DIRECTORY_INODE);
|
|
return std::get<36>(_data);
|
|
}
|
|
CreateDirectoryInodeReq& ShardReqContainer::setCreateDirectoryInode() {
|
|
_kind = ShardMessageKind::CREATE_DIRECTORY_INODE;
|
|
auto& x = _data.emplace<36>();
|
|
return x;
|
|
}
|
|
const SetDirectoryOwnerReq& ShardReqContainer::getSetDirectoryOwner() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SET_DIRECTORY_OWNER, "%s != %s", _kind, ShardMessageKind::SET_DIRECTORY_OWNER);
|
|
return std::get<37>(_data);
|
|
}
|
|
SetDirectoryOwnerReq& ShardReqContainer::setSetDirectoryOwner() {
|
|
_kind = ShardMessageKind::SET_DIRECTORY_OWNER;
|
|
auto& x = _data.emplace<37>();
|
|
return x;
|
|
}
|
|
const RemoveDirectoryOwnerReq& ShardReqContainer::getRemoveDirectoryOwner() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_DIRECTORY_OWNER, "%s != %s", _kind, ShardMessageKind::REMOVE_DIRECTORY_OWNER);
|
|
return std::get<38>(_data);
|
|
}
|
|
RemoveDirectoryOwnerReq& ShardReqContainer::setRemoveDirectoryOwner() {
|
|
_kind = ShardMessageKind::REMOVE_DIRECTORY_OWNER;
|
|
auto& x = _data.emplace<38>();
|
|
return x;
|
|
}
|
|
const CreateLockedCurrentEdgeReq& ShardReqContainer::getCreateLockedCurrentEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE, "%s != %s", _kind, ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE);
|
|
return std::get<39>(_data);
|
|
}
|
|
CreateLockedCurrentEdgeReq& ShardReqContainer::setCreateLockedCurrentEdge() {
|
|
_kind = ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE;
|
|
auto& x = _data.emplace<39>();
|
|
return x;
|
|
}
|
|
const LockCurrentEdgeReq& ShardReqContainer::getLockCurrentEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::LOCK_CURRENT_EDGE, "%s != %s", _kind, ShardMessageKind::LOCK_CURRENT_EDGE);
|
|
return std::get<40>(_data);
|
|
}
|
|
LockCurrentEdgeReq& ShardReqContainer::setLockCurrentEdge() {
|
|
_kind = ShardMessageKind::LOCK_CURRENT_EDGE;
|
|
auto& x = _data.emplace<40>();
|
|
return x;
|
|
}
|
|
const UnlockCurrentEdgeReq& ShardReqContainer::getUnlockCurrentEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::UNLOCK_CURRENT_EDGE, "%s != %s", _kind, ShardMessageKind::UNLOCK_CURRENT_EDGE);
|
|
return std::get<41>(_data);
|
|
}
|
|
UnlockCurrentEdgeReq& ShardReqContainer::setUnlockCurrentEdge() {
|
|
_kind = ShardMessageKind::UNLOCK_CURRENT_EDGE;
|
|
auto& x = _data.emplace<41>();
|
|
return x;
|
|
}
|
|
const RemoveOwnedSnapshotFileEdgeReq& ShardReqContainer::getRemoveOwnedSnapshotFileEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE, "%s != %s", _kind, ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE);
|
|
return std::get<42>(_data);
|
|
}
|
|
RemoveOwnedSnapshotFileEdgeReq& ShardReqContainer::setRemoveOwnedSnapshotFileEdge() {
|
|
_kind = ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE;
|
|
auto& x = _data.emplace<42>();
|
|
return x;
|
|
}
|
|
const MakeFileTransientReq& ShardReqContainer::getMakeFileTransient() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::MAKE_FILE_TRANSIENT, "%s != %s", _kind, ShardMessageKind::MAKE_FILE_TRANSIENT);
|
|
return std::get<43>(_data);
|
|
}
|
|
MakeFileTransientReq& ShardReqContainer::setMakeFileTransient() {
|
|
_kind = ShardMessageKind::MAKE_FILE_TRANSIENT;
|
|
auto& x = _data.emplace<43>();
|
|
return x;
|
|
}
|
|
ShardReqContainer::ShardReqContainer() {
|
|
clear();
|
|
}
|
|
|
|
ShardReqContainer::ShardReqContainer(const ShardReqContainer& other) {
|
|
*this = other;
|
|
}
|
|
|
|
ShardReqContainer::ShardReqContainer(ShardReqContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = ShardMessageKind::EMPTY;
|
|
}
|
|
|
|
void ShardReqContainer::operator=(const ShardReqContainer& other) {
|
|
if (other.kind() == ShardMessageKind::EMPTY) { clear(); return; }
|
|
switch (other.kind()) {
|
|
case ShardMessageKind::LOOKUP:
|
|
setLookup() = other.getLookup();
|
|
break;
|
|
case ShardMessageKind::STAT_FILE:
|
|
setStatFile() = other.getStatFile();
|
|
break;
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
setStatDirectory() = other.getStatDirectory();
|
|
break;
|
|
case ShardMessageKind::READ_DIR:
|
|
setReadDir() = other.getReadDir();
|
|
break;
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
setConstructFile() = other.getConstructFile();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
setAddSpanInitiate() = other.getAddSpanInitiate();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
setAddSpanCertify() = other.getAddSpanCertify();
|
|
break;
|
|
case ShardMessageKind::LINK_FILE:
|
|
setLinkFile() = other.getLinkFile();
|
|
break;
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
setSoftUnlinkFile() = other.getSoftUnlinkFile();
|
|
break;
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
setLocalFileSpans() = other.getLocalFileSpans();
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
setSameDirectoryRename() = other.getSameDirectoryRename();
|
|
break;
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
setAddInlineSpan() = other.getAddInlineSpan();
|
|
break;
|
|
case ShardMessageKind::SET_TIME:
|
|
setSetTime() = other.getSetTime();
|
|
break;
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
setFullReadDir() = other.getFullReadDir();
|
|
break;
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
setMoveSpan() = other.getMoveSpan();
|
|
break;
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
setRemoveNonOwnedEdge() = other.getRemoveNonOwnedEdge();
|
|
break;
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
setSameShardHardFileUnlink() = other.getSameShardHardFileUnlink();
|
|
break;
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
setStatTransientFile() = other.getStatTransientFile();
|
|
break;
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
setShardSnapshot() = other.getShardSnapshot();
|
|
break;
|
|
case ShardMessageKind::FILE_SPANS:
|
|
setFileSpans() = other.getFileSpans();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
setAddSpanLocation() = other.getAddSpanLocation();
|
|
break;
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
setScrapTransientFile() = other.getScrapTransientFile();
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
setSetDirectoryInfo() = other.getSetDirectoryInfo();
|
|
break;
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
setVisitDirectories() = other.getVisitDirectories();
|
|
break;
|
|
case ShardMessageKind::VISIT_FILES:
|
|
setVisitFiles() = other.getVisitFiles();
|
|
break;
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
setVisitTransientFiles() = other.getVisitTransientFiles();
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
setRemoveSpanInitiate() = other.getRemoveSpanInitiate();
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
setRemoveSpanCertify() = other.getRemoveSpanCertify();
|
|
break;
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
setSwapBlocks() = other.getSwapBlocks();
|
|
break;
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
setBlockServiceFiles() = other.getBlockServiceFiles();
|
|
break;
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
setRemoveInode() = other.getRemoveInode();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
setAddSpanInitiateWithReference() = other.getAddSpanInitiateWithReference();
|
|
break;
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
setRemoveZeroBlockServiceFiles() = other.getRemoveZeroBlockServiceFiles();
|
|
break;
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
setSwapSpans() = other.getSwapSpans();
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
setSameDirectoryRenameSnapshot() = other.getSameDirectoryRenameSnapshot();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
setAddSpanAtLocationInitiate() = other.getAddSpanAtLocationInitiate();
|
|
break;
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
setCreateDirectoryInode() = other.getCreateDirectoryInode();
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
setSetDirectoryOwner() = other.getSetDirectoryOwner();
|
|
break;
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
setRemoveDirectoryOwner() = other.getRemoveDirectoryOwner();
|
|
break;
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
setCreateLockedCurrentEdge() = other.getCreateLockedCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
setLockCurrentEdge() = other.getLockCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
setUnlockCurrentEdge() = other.getUnlockCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
setRemoveOwnedSnapshotFileEdge() = other.getRemoveOwnedSnapshotFileEdge();
|
|
break;
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
setMakeFileTransient() = other.getMakeFileTransient();
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardMessageKind kind %s", other.kind());
|
|
}
|
|
}
|
|
|
|
void ShardReqContainer::operator=(ShardReqContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = ShardMessageKind::EMPTY;
|
|
}
|
|
|
|
size_t ShardReqContainer::packedSize() const {
|
|
switch (_kind) {
|
|
case ShardMessageKind::LOOKUP:
|
|
return sizeof(ShardMessageKind) + std::get<0>(_data).packedSize();
|
|
case ShardMessageKind::STAT_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<1>(_data).packedSize();
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
return sizeof(ShardMessageKind) + std::get<2>(_data).packedSize();
|
|
case ShardMessageKind::READ_DIR:
|
|
return sizeof(ShardMessageKind) + std::get<3>(_data).packedSize();
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<4>(_data).packedSize();
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
return sizeof(ShardMessageKind) + std::get<5>(_data).packedSize();
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
return sizeof(ShardMessageKind) + std::get<6>(_data).packedSize();
|
|
case ShardMessageKind::LINK_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<7>(_data).packedSize();
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<8>(_data).packedSize();
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
return sizeof(ShardMessageKind) + std::get<9>(_data).packedSize();
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
return sizeof(ShardMessageKind) + std::get<10>(_data).packedSize();
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
return sizeof(ShardMessageKind) + std::get<11>(_data).packedSize();
|
|
case ShardMessageKind::SET_TIME:
|
|
return sizeof(ShardMessageKind) + std::get<12>(_data).packedSize();
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
return sizeof(ShardMessageKind) + std::get<13>(_data).packedSize();
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
return sizeof(ShardMessageKind) + std::get<14>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
return sizeof(ShardMessageKind) + std::get<15>(_data).packedSize();
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
return sizeof(ShardMessageKind) + std::get<16>(_data).packedSize();
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<17>(_data).packedSize();
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
return sizeof(ShardMessageKind) + std::get<18>(_data).packedSize();
|
|
case ShardMessageKind::FILE_SPANS:
|
|
return sizeof(ShardMessageKind) + std::get<19>(_data).packedSize();
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
return sizeof(ShardMessageKind) + std::get<20>(_data).packedSize();
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<21>(_data).packedSize();
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
return sizeof(ShardMessageKind) + std::get<22>(_data).packedSize();
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
return sizeof(ShardMessageKind) + std::get<23>(_data).packedSize();
|
|
case ShardMessageKind::VISIT_FILES:
|
|
return sizeof(ShardMessageKind) + std::get<24>(_data).packedSize();
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
return sizeof(ShardMessageKind) + std::get<25>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
return sizeof(ShardMessageKind) + std::get<26>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
return sizeof(ShardMessageKind) + std::get<27>(_data).packedSize();
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
return sizeof(ShardMessageKind) + std::get<28>(_data).packedSize();
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
return sizeof(ShardMessageKind) + std::get<29>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
return sizeof(ShardMessageKind) + std::get<30>(_data).packedSize();
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
return sizeof(ShardMessageKind) + std::get<31>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
return sizeof(ShardMessageKind) + std::get<32>(_data).packedSize();
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
return sizeof(ShardMessageKind) + std::get<33>(_data).packedSize();
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
return sizeof(ShardMessageKind) + std::get<34>(_data).packedSize();
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
return sizeof(ShardMessageKind) + std::get<35>(_data).packedSize();
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
return sizeof(ShardMessageKind) + std::get<36>(_data).packedSize();
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
return sizeof(ShardMessageKind) + std::get<37>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
return sizeof(ShardMessageKind) + std::get<38>(_data).packedSize();
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
return sizeof(ShardMessageKind) + std::get<39>(_data).packedSize();
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
return sizeof(ShardMessageKind) + std::get<40>(_data).packedSize();
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
return sizeof(ShardMessageKind) + std::get<41>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
return sizeof(ShardMessageKind) + std::get<42>(_data).packedSize();
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
return sizeof(ShardMessageKind) + std::get<43>(_data).packedSize();
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void ShardReqContainer::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<ShardMessageKind>(_kind);
|
|
switch (_kind) {
|
|
case ShardMessageKind::LOOKUP:
|
|
std::get<0>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_FILE:
|
|
std::get<1>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
std::get<2>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::READ_DIR:
|
|
std::get<3>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
std::get<4>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
std::get<5>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
std::get<6>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::LINK_FILE:
|
|
std::get<7>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
std::get<8>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
std::get<9>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
std::get<10>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
std::get<11>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_TIME:
|
|
std::get<12>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
std::get<13>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
std::get<14>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
std::get<15>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
std::get<16>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
std::get<17>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
std::get<18>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::FILE_SPANS:
|
|
std::get<19>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
std::get<20>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
std::get<21>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
std::get<22>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
std::get<23>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_FILES:
|
|
std::get<24>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
std::get<25>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
std::get<26>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
std::get<27>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
std::get<28>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
std::get<29>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
std::get<30>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
std::get<31>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
std::get<32>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
std::get<33>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
std::get<34>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
std::get<35>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
std::get<36>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
std::get<37>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
std::get<38>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
std::get<39>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
std::get<40>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
std::get<41>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
std::get<42>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
std::get<43>(_data).pack(buf);
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void ShardReqContainer::unpack(BincodeBuf& buf) {
|
|
_kind = buf.unpackScalar<ShardMessageKind>();
|
|
switch (_kind) {
|
|
case ShardMessageKind::LOOKUP:
|
|
_data.emplace<0>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_FILE:
|
|
_data.emplace<1>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
_data.emplace<2>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::READ_DIR:
|
|
_data.emplace<3>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
_data.emplace<4>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
_data.emplace<5>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
_data.emplace<6>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::LINK_FILE:
|
|
_data.emplace<7>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
_data.emplace<8>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
_data.emplace<9>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
_data.emplace<10>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
_data.emplace<11>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_TIME:
|
|
_data.emplace<12>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
_data.emplace<13>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
_data.emplace<14>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
_data.emplace<15>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
_data.emplace<16>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
_data.emplace<17>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
_data.emplace<18>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::FILE_SPANS:
|
|
_data.emplace<19>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
_data.emplace<20>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
_data.emplace<21>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
_data.emplace<22>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
_data.emplace<23>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_FILES:
|
|
_data.emplace<24>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
_data.emplace<25>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
_data.emplace<26>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
_data.emplace<27>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
_data.emplace<28>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
_data.emplace<29>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
_data.emplace<30>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
_data.emplace<31>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
_data.emplace<32>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
_data.emplace<33>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
_data.emplace<34>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
_data.emplace<35>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
_data.emplace<36>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
_data.emplace<37>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
_data.emplace<38>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
_data.emplace<39>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
_data.emplace<40>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
_data.emplace<41>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
_data.emplace<42>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
_data.emplace<43>().unpack(buf);
|
|
break;
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad ShardMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
bool ShardReqContainer::operator==(const ShardReqContainer& other) const {
|
|
if (_kind != other.kind()) { return false; }
|
|
if (_kind == ShardMessageKind::EMPTY) { return true; }
|
|
switch (_kind) {
|
|
case ShardMessageKind::LOOKUP:
|
|
return getLookup() == other.getLookup();
|
|
case ShardMessageKind::STAT_FILE:
|
|
return getStatFile() == other.getStatFile();
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
return getStatDirectory() == other.getStatDirectory();
|
|
case ShardMessageKind::READ_DIR:
|
|
return getReadDir() == other.getReadDir();
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
return getConstructFile() == other.getConstructFile();
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
return getAddSpanInitiate() == other.getAddSpanInitiate();
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
return getAddSpanCertify() == other.getAddSpanCertify();
|
|
case ShardMessageKind::LINK_FILE:
|
|
return getLinkFile() == other.getLinkFile();
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
return getSoftUnlinkFile() == other.getSoftUnlinkFile();
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
return getLocalFileSpans() == other.getLocalFileSpans();
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
return getSameDirectoryRename() == other.getSameDirectoryRename();
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
return getAddInlineSpan() == other.getAddInlineSpan();
|
|
case ShardMessageKind::SET_TIME:
|
|
return getSetTime() == other.getSetTime();
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
return getFullReadDir() == other.getFullReadDir();
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
return getMoveSpan() == other.getMoveSpan();
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
return getRemoveNonOwnedEdge() == other.getRemoveNonOwnedEdge();
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
return getSameShardHardFileUnlink() == other.getSameShardHardFileUnlink();
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
return getStatTransientFile() == other.getStatTransientFile();
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
return getShardSnapshot() == other.getShardSnapshot();
|
|
case ShardMessageKind::FILE_SPANS:
|
|
return getFileSpans() == other.getFileSpans();
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
return getAddSpanLocation() == other.getAddSpanLocation();
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
return getScrapTransientFile() == other.getScrapTransientFile();
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
return getSetDirectoryInfo() == other.getSetDirectoryInfo();
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
return getVisitDirectories() == other.getVisitDirectories();
|
|
case ShardMessageKind::VISIT_FILES:
|
|
return getVisitFiles() == other.getVisitFiles();
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
return getVisitTransientFiles() == other.getVisitTransientFiles();
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
return getRemoveSpanInitiate() == other.getRemoveSpanInitiate();
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
return getRemoveSpanCertify() == other.getRemoveSpanCertify();
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
return getSwapBlocks() == other.getSwapBlocks();
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
return getBlockServiceFiles() == other.getBlockServiceFiles();
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
return getRemoveInode() == other.getRemoveInode();
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
return getAddSpanInitiateWithReference() == other.getAddSpanInitiateWithReference();
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
return getRemoveZeroBlockServiceFiles() == other.getRemoveZeroBlockServiceFiles();
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
return getSwapSpans() == other.getSwapSpans();
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
return getSameDirectoryRenameSnapshot() == other.getSameDirectoryRenameSnapshot();
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
return getAddSpanAtLocationInitiate() == other.getAddSpanAtLocationInitiate();
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
return getCreateDirectoryInode() == other.getCreateDirectoryInode();
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
return getSetDirectoryOwner() == other.getSetDirectoryOwner();
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
return getRemoveDirectoryOwner() == other.getRemoveDirectoryOwner();
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
return getCreateLockedCurrentEdge() == other.getCreateLockedCurrentEdge();
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
return getLockCurrentEdge() == other.getLockCurrentEdge();
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
return getUnlockCurrentEdge() == other.getUnlockCurrentEdge();
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
return getRemoveOwnedSnapshotFileEdge() == other.getRemoveOwnedSnapshotFileEdge();
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
return getMakeFileTransient() == other.getMakeFileTransient();
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad ShardMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, const ShardReqContainer& x) {
|
|
switch (x.kind()) {
|
|
case ShardMessageKind::LOOKUP:
|
|
out << x.getLookup();
|
|
break;
|
|
case ShardMessageKind::STAT_FILE:
|
|
out << x.getStatFile();
|
|
break;
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
out << x.getStatDirectory();
|
|
break;
|
|
case ShardMessageKind::READ_DIR:
|
|
out << x.getReadDir();
|
|
break;
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
out << x.getConstructFile();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
out << x.getAddSpanInitiate();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
out << x.getAddSpanCertify();
|
|
break;
|
|
case ShardMessageKind::LINK_FILE:
|
|
out << x.getLinkFile();
|
|
break;
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
out << x.getSoftUnlinkFile();
|
|
break;
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
out << x.getLocalFileSpans();
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
out << x.getSameDirectoryRename();
|
|
break;
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
out << x.getAddInlineSpan();
|
|
break;
|
|
case ShardMessageKind::SET_TIME:
|
|
out << x.getSetTime();
|
|
break;
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
out << x.getFullReadDir();
|
|
break;
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
out << x.getMoveSpan();
|
|
break;
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
out << x.getRemoveNonOwnedEdge();
|
|
break;
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
out << x.getSameShardHardFileUnlink();
|
|
break;
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
out << x.getStatTransientFile();
|
|
break;
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
out << x.getShardSnapshot();
|
|
break;
|
|
case ShardMessageKind::FILE_SPANS:
|
|
out << x.getFileSpans();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
out << x.getAddSpanLocation();
|
|
break;
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
out << x.getScrapTransientFile();
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
out << x.getSetDirectoryInfo();
|
|
break;
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
out << x.getVisitDirectories();
|
|
break;
|
|
case ShardMessageKind::VISIT_FILES:
|
|
out << x.getVisitFiles();
|
|
break;
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
out << x.getVisitTransientFiles();
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
out << x.getRemoveSpanInitiate();
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
out << x.getRemoveSpanCertify();
|
|
break;
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
out << x.getSwapBlocks();
|
|
break;
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
out << x.getBlockServiceFiles();
|
|
break;
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
out << x.getRemoveInode();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
out << x.getAddSpanInitiateWithReference();
|
|
break;
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
out << x.getRemoveZeroBlockServiceFiles();
|
|
break;
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
out << x.getSwapSpans();
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
out << x.getSameDirectoryRenameSnapshot();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
out << x.getAddSpanAtLocationInitiate();
|
|
break;
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
out << x.getCreateDirectoryInode();
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
out << x.getSetDirectoryOwner();
|
|
break;
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
out << x.getRemoveDirectoryOwner();
|
|
break;
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
out << x.getCreateLockedCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
out << x.getLockCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
out << x.getUnlockCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
out << x.getRemoveOwnedSnapshotFileEdge();
|
|
break;
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
out << x.getMakeFileTransient();
|
|
break;
|
|
case ShardMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardMessageKind kind %s", x.kind());
|
|
}
|
|
return out;
|
|
}
|
|
|
|
const TernError& ShardRespContainer::getError() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ERROR, "%s != %s", _kind, ShardMessageKind::ERROR);
|
|
return std::get<0>(_data);
|
|
}
|
|
TernError& ShardRespContainer::setError() {
|
|
_kind = ShardMessageKind::ERROR;
|
|
auto& x = _data.emplace<0>();
|
|
return x;
|
|
}
|
|
const LookupResp& ShardRespContainer::getLookup() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::LOOKUP, "%s != %s", _kind, ShardMessageKind::LOOKUP);
|
|
return std::get<1>(_data);
|
|
}
|
|
LookupResp& ShardRespContainer::setLookup() {
|
|
_kind = ShardMessageKind::LOOKUP;
|
|
auto& x = _data.emplace<1>();
|
|
return x;
|
|
}
|
|
const StatFileResp& ShardRespContainer::getStatFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::STAT_FILE, "%s != %s", _kind, ShardMessageKind::STAT_FILE);
|
|
return std::get<2>(_data);
|
|
}
|
|
StatFileResp& ShardRespContainer::setStatFile() {
|
|
_kind = ShardMessageKind::STAT_FILE;
|
|
auto& x = _data.emplace<2>();
|
|
return x;
|
|
}
|
|
const StatDirectoryResp& ShardRespContainer::getStatDirectory() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::STAT_DIRECTORY, "%s != %s", _kind, ShardMessageKind::STAT_DIRECTORY);
|
|
return std::get<3>(_data);
|
|
}
|
|
StatDirectoryResp& ShardRespContainer::setStatDirectory() {
|
|
_kind = ShardMessageKind::STAT_DIRECTORY;
|
|
auto& x = _data.emplace<3>();
|
|
return x;
|
|
}
|
|
const ReadDirResp& ShardRespContainer::getReadDir() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::READ_DIR, "%s != %s", _kind, ShardMessageKind::READ_DIR);
|
|
return std::get<4>(_data);
|
|
}
|
|
ReadDirResp& ShardRespContainer::setReadDir() {
|
|
_kind = ShardMessageKind::READ_DIR;
|
|
auto& x = _data.emplace<4>();
|
|
return x;
|
|
}
|
|
const ConstructFileResp& ShardRespContainer::getConstructFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::CONSTRUCT_FILE, "%s != %s", _kind, ShardMessageKind::CONSTRUCT_FILE);
|
|
return std::get<5>(_data);
|
|
}
|
|
ConstructFileResp& ShardRespContainer::setConstructFile() {
|
|
_kind = ShardMessageKind::CONSTRUCT_FILE;
|
|
auto& x = _data.emplace<5>();
|
|
return x;
|
|
}
|
|
const AddSpanInitiateResp& ShardRespContainer::getAddSpanInitiate() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_SPAN_INITIATE, "%s != %s", _kind, ShardMessageKind::ADD_SPAN_INITIATE);
|
|
return std::get<6>(_data);
|
|
}
|
|
AddSpanInitiateResp& ShardRespContainer::setAddSpanInitiate() {
|
|
_kind = ShardMessageKind::ADD_SPAN_INITIATE;
|
|
auto& x = _data.emplace<6>();
|
|
return x;
|
|
}
|
|
const AddSpanCertifyResp& ShardRespContainer::getAddSpanCertify() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_SPAN_CERTIFY, "%s != %s", _kind, ShardMessageKind::ADD_SPAN_CERTIFY);
|
|
return std::get<7>(_data);
|
|
}
|
|
AddSpanCertifyResp& ShardRespContainer::setAddSpanCertify() {
|
|
_kind = ShardMessageKind::ADD_SPAN_CERTIFY;
|
|
auto& x = _data.emplace<7>();
|
|
return x;
|
|
}
|
|
const LinkFileResp& ShardRespContainer::getLinkFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::LINK_FILE, "%s != %s", _kind, ShardMessageKind::LINK_FILE);
|
|
return std::get<8>(_data);
|
|
}
|
|
LinkFileResp& ShardRespContainer::setLinkFile() {
|
|
_kind = ShardMessageKind::LINK_FILE;
|
|
auto& x = _data.emplace<8>();
|
|
return x;
|
|
}
|
|
const SoftUnlinkFileResp& ShardRespContainer::getSoftUnlinkFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SOFT_UNLINK_FILE, "%s != %s", _kind, ShardMessageKind::SOFT_UNLINK_FILE);
|
|
return std::get<9>(_data);
|
|
}
|
|
SoftUnlinkFileResp& ShardRespContainer::setSoftUnlinkFile() {
|
|
_kind = ShardMessageKind::SOFT_UNLINK_FILE;
|
|
auto& x = _data.emplace<9>();
|
|
return x;
|
|
}
|
|
const LocalFileSpansResp& ShardRespContainer::getLocalFileSpans() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::LOCAL_FILE_SPANS, "%s != %s", _kind, ShardMessageKind::LOCAL_FILE_SPANS);
|
|
return std::get<10>(_data);
|
|
}
|
|
LocalFileSpansResp& ShardRespContainer::setLocalFileSpans() {
|
|
_kind = ShardMessageKind::LOCAL_FILE_SPANS;
|
|
auto& x = _data.emplace<10>();
|
|
return x;
|
|
}
|
|
const SameDirectoryRenameResp& ShardRespContainer::getSameDirectoryRename() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SAME_DIRECTORY_RENAME, "%s != %s", _kind, ShardMessageKind::SAME_DIRECTORY_RENAME);
|
|
return std::get<11>(_data);
|
|
}
|
|
SameDirectoryRenameResp& ShardRespContainer::setSameDirectoryRename() {
|
|
_kind = ShardMessageKind::SAME_DIRECTORY_RENAME;
|
|
auto& x = _data.emplace<11>();
|
|
return x;
|
|
}
|
|
const AddInlineSpanResp& ShardRespContainer::getAddInlineSpan() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_INLINE_SPAN, "%s != %s", _kind, ShardMessageKind::ADD_INLINE_SPAN);
|
|
return std::get<12>(_data);
|
|
}
|
|
AddInlineSpanResp& ShardRespContainer::setAddInlineSpan() {
|
|
_kind = ShardMessageKind::ADD_INLINE_SPAN;
|
|
auto& x = _data.emplace<12>();
|
|
return x;
|
|
}
|
|
const SetTimeResp& ShardRespContainer::getSetTime() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SET_TIME, "%s != %s", _kind, ShardMessageKind::SET_TIME);
|
|
return std::get<13>(_data);
|
|
}
|
|
SetTimeResp& ShardRespContainer::setSetTime() {
|
|
_kind = ShardMessageKind::SET_TIME;
|
|
auto& x = _data.emplace<13>();
|
|
return x;
|
|
}
|
|
const FullReadDirResp& ShardRespContainer::getFullReadDir() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::FULL_READ_DIR, "%s != %s", _kind, ShardMessageKind::FULL_READ_DIR);
|
|
return std::get<14>(_data);
|
|
}
|
|
FullReadDirResp& ShardRespContainer::setFullReadDir() {
|
|
_kind = ShardMessageKind::FULL_READ_DIR;
|
|
auto& x = _data.emplace<14>();
|
|
return x;
|
|
}
|
|
const MoveSpanResp& ShardRespContainer::getMoveSpan() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::MOVE_SPAN, "%s != %s", _kind, ShardMessageKind::MOVE_SPAN);
|
|
return std::get<15>(_data);
|
|
}
|
|
MoveSpanResp& ShardRespContainer::setMoveSpan() {
|
|
_kind = ShardMessageKind::MOVE_SPAN;
|
|
auto& x = _data.emplace<15>();
|
|
return x;
|
|
}
|
|
const RemoveNonOwnedEdgeResp& ShardRespContainer::getRemoveNonOwnedEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_NON_OWNED_EDGE, "%s != %s", _kind, ShardMessageKind::REMOVE_NON_OWNED_EDGE);
|
|
return std::get<16>(_data);
|
|
}
|
|
RemoveNonOwnedEdgeResp& ShardRespContainer::setRemoveNonOwnedEdge() {
|
|
_kind = ShardMessageKind::REMOVE_NON_OWNED_EDGE;
|
|
auto& x = _data.emplace<16>();
|
|
return x;
|
|
}
|
|
const SameShardHardFileUnlinkResp& ShardRespContainer::getSameShardHardFileUnlink() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK, "%s != %s", _kind, ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK);
|
|
return std::get<17>(_data);
|
|
}
|
|
SameShardHardFileUnlinkResp& ShardRespContainer::setSameShardHardFileUnlink() {
|
|
_kind = ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK;
|
|
auto& x = _data.emplace<17>();
|
|
return x;
|
|
}
|
|
const StatTransientFileResp& ShardRespContainer::getStatTransientFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::STAT_TRANSIENT_FILE, "%s != %s", _kind, ShardMessageKind::STAT_TRANSIENT_FILE);
|
|
return std::get<18>(_data);
|
|
}
|
|
StatTransientFileResp& ShardRespContainer::setStatTransientFile() {
|
|
_kind = ShardMessageKind::STAT_TRANSIENT_FILE;
|
|
auto& x = _data.emplace<18>();
|
|
return x;
|
|
}
|
|
const ShardSnapshotResp& ShardRespContainer::getShardSnapshot() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SHARD_SNAPSHOT, "%s != %s", _kind, ShardMessageKind::SHARD_SNAPSHOT);
|
|
return std::get<19>(_data);
|
|
}
|
|
ShardSnapshotResp& ShardRespContainer::setShardSnapshot() {
|
|
_kind = ShardMessageKind::SHARD_SNAPSHOT;
|
|
auto& x = _data.emplace<19>();
|
|
return x;
|
|
}
|
|
const FileSpansResp& ShardRespContainer::getFileSpans() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::FILE_SPANS, "%s != %s", _kind, ShardMessageKind::FILE_SPANS);
|
|
return std::get<20>(_data);
|
|
}
|
|
FileSpansResp& ShardRespContainer::setFileSpans() {
|
|
_kind = ShardMessageKind::FILE_SPANS;
|
|
auto& x = _data.emplace<20>();
|
|
return x;
|
|
}
|
|
const AddSpanLocationResp& ShardRespContainer::getAddSpanLocation() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_SPAN_LOCATION, "%s != %s", _kind, ShardMessageKind::ADD_SPAN_LOCATION);
|
|
return std::get<21>(_data);
|
|
}
|
|
AddSpanLocationResp& ShardRespContainer::setAddSpanLocation() {
|
|
_kind = ShardMessageKind::ADD_SPAN_LOCATION;
|
|
auto& x = _data.emplace<21>();
|
|
return x;
|
|
}
|
|
const ScrapTransientFileResp& ShardRespContainer::getScrapTransientFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SCRAP_TRANSIENT_FILE, "%s != %s", _kind, ShardMessageKind::SCRAP_TRANSIENT_FILE);
|
|
return std::get<22>(_data);
|
|
}
|
|
ScrapTransientFileResp& ShardRespContainer::setScrapTransientFile() {
|
|
_kind = ShardMessageKind::SCRAP_TRANSIENT_FILE;
|
|
auto& x = _data.emplace<22>();
|
|
return x;
|
|
}
|
|
const SetDirectoryInfoResp& ShardRespContainer::getSetDirectoryInfo() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SET_DIRECTORY_INFO, "%s != %s", _kind, ShardMessageKind::SET_DIRECTORY_INFO);
|
|
return std::get<23>(_data);
|
|
}
|
|
SetDirectoryInfoResp& ShardRespContainer::setSetDirectoryInfo() {
|
|
_kind = ShardMessageKind::SET_DIRECTORY_INFO;
|
|
auto& x = _data.emplace<23>();
|
|
return x;
|
|
}
|
|
const VisitDirectoriesResp& ShardRespContainer::getVisitDirectories() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::VISIT_DIRECTORIES, "%s != %s", _kind, ShardMessageKind::VISIT_DIRECTORIES);
|
|
return std::get<24>(_data);
|
|
}
|
|
VisitDirectoriesResp& ShardRespContainer::setVisitDirectories() {
|
|
_kind = ShardMessageKind::VISIT_DIRECTORIES;
|
|
auto& x = _data.emplace<24>();
|
|
return x;
|
|
}
|
|
const VisitFilesResp& ShardRespContainer::getVisitFiles() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::VISIT_FILES, "%s != %s", _kind, ShardMessageKind::VISIT_FILES);
|
|
return std::get<25>(_data);
|
|
}
|
|
VisitFilesResp& ShardRespContainer::setVisitFiles() {
|
|
_kind = ShardMessageKind::VISIT_FILES;
|
|
auto& x = _data.emplace<25>();
|
|
return x;
|
|
}
|
|
const VisitTransientFilesResp& ShardRespContainer::getVisitTransientFiles() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::VISIT_TRANSIENT_FILES, "%s != %s", _kind, ShardMessageKind::VISIT_TRANSIENT_FILES);
|
|
return std::get<26>(_data);
|
|
}
|
|
VisitTransientFilesResp& ShardRespContainer::setVisitTransientFiles() {
|
|
_kind = ShardMessageKind::VISIT_TRANSIENT_FILES;
|
|
auto& x = _data.emplace<26>();
|
|
return x;
|
|
}
|
|
const RemoveSpanInitiateResp& ShardRespContainer::getRemoveSpanInitiate() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_SPAN_INITIATE, "%s != %s", _kind, ShardMessageKind::REMOVE_SPAN_INITIATE);
|
|
return std::get<27>(_data);
|
|
}
|
|
RemoveSpanInitiateResp& ShardRespContainer::setRemoveSpanInitiate() {
|
|
_kind = ShardMessageKind::REMOVE_SPAN_INITIATE;
|
|
auto& x = _data.emplace<27>();
|
|
return x;
|
|
}
|
|
const RemoveSpanCertifyResp& ShardRespContainer::getRemoveSpanCertify() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_SPAN_CERTIFY, "%s != %s", _kind, ShardMessageKind::REMOVE_SPAN_CERTIFY);
|
|
return std::get<28>(_data);
|
|
}
|
|
RemoveSpanCertifyResp& ShardRespContainer::setRemoveSpanCertify() {
|
|
_kind = ShardMessageKind::REMOVE_SPAN_CERTIFY;
|
|
auto& x = _data.emplace<28>();
|
|
return x;
|
|
}
|
|
const SwapBlocksResp& ShardRespContainer::getSwapBlocks() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SWAP_BLOCKS, "%s != %s", _kind, ShardMessageKind::SWAP_BLOCKS);
|
|
return std::get<29>(_data);
|
|
}
|
|
SwapBlocksResp& ShardRespContainer::setSwapBlocks() {
|
|
_kind = ShardMessageKind::SWAP_BLOCKS;
|
|
auto& x = _data.emplace<29>();
|
|
return x;
|
|
}
|
|
const BlockServiceFilesResp& ShardRespContainer::getBlockServiceFiles() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::BLOCK_SERVICE_FILES, "%s != %s", _kind, ShardMessageKind::BLOCK_SERVICE_FILES);
|
|
return std::get<30>(_data);
|
|
}
|
|
BlockServiceFilesResp& ShardRespContainer::setBlockServiceFiles() {
|
|
_kind = ShardMessageKind::BLOCK_SERVICE_FILES;
|
|
auto& x = _data.emplace<30>();
|
|
return x;
|
|
}
|
|
const RemoveInodeResp& ShardRespContainer::getRemoveInode() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_INODE, "%s != %s", _kind, ShardMessageKind::REMOVE_INODE);
|
|
return std::get<31>(_data);
|
|
}
|
|
RemoveInodeResp& ShardRespContainer::setRemoveInode() {
|
|
_kind = ShardMessageKind::REMOVE_INODE;
|
|
auto& x = _data.emplace<31>();
|
|
return x;
|
|
}
|
|
const AddSpanInitiateWithReferenceResp& ShardRespContainer::getAddSpanInitiateWithReference() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE, "%s != %s", _kind, ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE);
|
|
return std::get<32>(_data);
|
|
}
|
|
AddSpanInitiateWithReferenceResp& ShardRespContainer::setAddSpanInitiateWithReference() {
|
|
_kind = ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE;
|
|
auto& x = _data.emplace<32>();
|
|
return x;
|
|
}
|
|
const RemoveZeroBlockServiceFilesResp& ShardRespContainer::getRemoveZeroBlockServiceFiles() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES, "%s != %s", _kind, ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES);
|
|
return std::get<33>(_data);
|
|
}
|
|
RemoveZeroBlockServiceFilesResp& ShardRespContainer::setRemoveZeroBlockServiceFiles() {
|
|
_kind = ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES;
|
|
auto& x = _data.emplace<33>();
|
|
return x;
|
|
}
|
|
const SwapSpansResp& ShardRespContainer::getSwapSpans() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SWAP_SPANS, "%s != %s", _kind, ShardMessageKind::SWAP_SPANS);
|
|
return std::get<34>(_data);
|
|
}
|
|
SwapSpansResp& ShardRespContainer::setSwapSpans() {
|
|
_kind = ShardMessageKind::SWAP_SPANS;
|
|
auto& x = _data.emplace<34>();
|
|
return x;
|
|
}
|
|
const SameDirectoryRenameSnapshotResp& ShardRespContainer::getSameDirectoryRenameSnapshot() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT, "%s != %s", _kind, ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT);
|
|
return std::get<35>(_data);
|
|
}
|
|
SameDirectoryRenameSnapshotResp& ShardRespContainer::setSameDirectoryRenameSnapshot() {
|
|
_kind = ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT;
|
|
auto& x = _data.emplace<35>();
|
|
return x;
|
|
}
|
|
const AddSpanAtLocationInitiateResp& ShardRespContainer::getAddSpanAtLocationInitiate() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE, "%s != %s", _kind, ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE);
|
|
return std::get<36>(_data);
|
|
}
|
|
AddSpanAtLocationInitiateResp& ShardRespContainer::setAddSpanAtLocationInitiate() {
|
|
_kind = ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE;
|
|
auto& x = _data.emplace<36>();
|
|
return x;
|
|
}
|
|
const CreateDirectoryInodeResp& ShardRespContainer::getCreateDirectoryInode() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::CREATE_DIRECTORY_INODE, "%s != %s", _kind, ShardMessageKind::CREATE_DIRECTORY_INODE);
|
|
return std::get<37>(_data);
|
|
}
|
|
CreateDirectoryInodeResp& ShardRespContainer::setCreateDirectoryInode() {
|
|
_kind = ShardMessageKind::CREATE_DIRECTORY_INODE;
|
|
auto& x = _data.emplace<37>();
|
|
return x;
|
|
}
|
|
const SetDirectoryOwnerResp& ShardRespContainer::getSetDirectoryOwner() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::SET_DIRECTORY_OWNER, "%s != %s", _kind, ShardMessageKind::SET_DIRECTORY_OWNER);
|
|
return std::get<38>(_data);
|
|
}
|
|
SetDirectoryOwnerResp& ShardRespContainer::setSetDirectoryOwner() {
|
|
_kind = ShardMessageKind::SET_DIRECTORY_OWNER;
|
|
auto& x = _data.emplace<38>();
|
|
return x;
|
|
}
|
|
const RemoveDirectoryOwnerResp& ShardRespContainer::getRemoveDirectoryOwner() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_DIRECTORY_OWNER, "%s != %s", _kind, ShardMessageKind::REMOVE_DIRECTORY_OWNER);
|
|
return std::get<39>(_data);
|
|
}
|
|
RemoveDirectoryOwnerResp& ShardRespContainer::setRemoveDirectoryOwner() {
|
|
_kind = ShardMessageKind::REMOVE_DIRECTORY_OWNER;
|
|
auto& x = _data.emplace<39>();
|
|
return x;
|
|
}
|
|
const CreateLockedCurrentEdgeResp& ShardRespContainer::getCreateLockedCurrentEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE, "%s != %s", _kind, ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE);
|
|
return std::get<40>(_data);
|
|
}
|
|
CreateLockedCurrentEdgeResp& ShardRespContainer::setCreateLockedCurrentEdge() {
|
|
_kind = ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE;
|
|
auto& x = _data.emplace<40>();
|
|
return x;
|
|
}
|
|
const LockCurrentEdgeResp& ShardRespContainer::getLockCurrentEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::LOCK_CURRENT_EDGE, "%s != %s", _kind, ShardMessageKind::LOCK_CURRENT_EDGE);
|
|
return std::get<41>(_data);
|
|
}
|
|
LockCurrentEdgeResp& ShardRespContainer::setLockCurrentEdge() {
|
|
_kind = ShardMessageKind::LOCK_CURRENT_EDGE;
|
|
auto& x = _data.emplace<41>();
|
|
return x;
|
|
}
|
|
const UnlockCurrentEdgeResp& ShardRespContainer::getUnlockCurrentEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::UNLOCK_CURRENT_EDGE, "%s != %s", _kind, ShardMessageKind::UNLOCK_CURRENT_EDGE);
|
|
return std::get<42>(_data);
|
|
}
|
|
UnlockCurrentEdgeResp& ShardRespContainer::setUnlockCurrentEdge() {
|
|
_kind = ShardMessageKind::UNLOCK_CURRENT_EDGE;
|
|
auto& x = _data.emplace<42>();
|
|
return x;
|
|
}
|
|
const RemoveOwnedSnapshotFileEdgeResp& ShardRespContainer::getRemoveOwnedSnapshotFileEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE, "%s != %s", _kind, ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE);
|
|
return std::get<43>(_data);
|
|
}
|
|
RemoveOwnedSnapshotFileEdgeResp& ShardRespContainer::setRemoveOwnedSnapshotFileEdge() {
|
|
_kind = ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE;
|
|
auto& x = _data.emplace<43>();
|
|
return x;
|
|
}
|
|
const MakeFileTransientResp& ShardRespContainer::getMakeFileTransient() const {
|
|
ALWAYS_ASSERT(_kind == ShardMessageKind::MAKE_FILE_TRANSIENT, "%s != %s", _kind, ShardMessageKind::MAKE_FILE_TRANSIENT);
|
|
return std::get<44>(_data);
|
|
}
|
|
MakeFileTransientResp& ShardRespContainer::setMakeFileTransient() {
|
|
_kind = ShardMessageKind::MAKE_FILE_TRANSIENT;
|
|
auto& x = _data.emplace<44>();
|
|
return x;
|
|
}
|
|
ShardRespContainer::ShardRespContainer() {
|
|
clear();
|
|
}
|
|
|
|
ShardRespContainer::ShardRespContainer(const ShardRespContainer& other) {
|
|
*this = other;
|
|
}
|
|
|
|
ShardRespContainer::ShardRespContainer(ShardRespContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = ShardMessageKind::EMPTY;
|
|
}
|
|
|
|
void ShardRespContainer::operator=(const ShardRespContainer& other) {
|
|
if (other.kind() == ShardMessageKind::EMPTY) { clear(); return; }
|
|
switch (other.kind()) {
|
|
case ShardMessageKind::ERROR:
|
|
setError() = other.getError();
|
|
break;
|
|
case ShardMessageKind::LOOKUP:
|
|
setLookup() = other.getLookup();
|
|
break;
|
|
case ShardMessageKind::STAT_FILE:
|
|
setStatFile() = other.getStatFile();
|
|
break;
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
setStatDirectory() = other.getStatDirectory();
|
|
break;
|
|
case ShardMessageKind::READ_DIR:
|
|
setReadDir() = other.getReadDir();
|
|
break;
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
setConstructFile() = other.getConstructFile();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
setAddSpanInitiate() = other.getAddSpanInitiate();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
setAddSpanCertify() = other.getAddSpanCertify();
|
|
break;
|
|
case ShardMessageKind::LINK_FILE:
|
|
setLinkFile() = other.getLinkFile();
|
|
break;
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
setSoftUnlinkFile() = other.getSoftUnlinkFile();
|
|
break;
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
setLocalFileSpans() = other.getLocalFileSpans();
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
setSameDirectoryRename() = other.getSameDirectoryRename();
|
|
break;
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
setAddInlineSpan() = other.getAddInlineSpan();
|
|
break;
|
|
case ShardMessageKind::SET_TIME:
|
|
setSetTime() = other.getSetTime();
|
|
break;
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
setFullReadDir() = other.getFullReadDir();
|
|
break;
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
setMoveSpan() = other.getMoveSpan();
|
|
break;
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
setRemoveNonOwnedEdge() = other.getRemoveNonOwnedEdge();
|
|
break;
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
setSameShardHardFileUnlink() = other.getSameShardHardFileUnlink();
|
|
break;
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
setStatTransientFile() = other.getStatTransientFile();
|
|
break;
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
setShardSnapshot() = other.getShardSnapshot();
|
|
break;
|
|
case ShardMessageKind::FILE_SPANS:
|
|
setFileSpans() = other.getFileSpans();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
setAddSpanLocation() = other.getAddSpanLocation();
|
|
break;
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
setScrapTransientFile() = other.getScrapTransientFile();
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
setSetDirectoryInfo() = other.getSetDirectoryInfo();
|
|
break;
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
setVisitDirectories() = other.getVisitDirectories();
|
|
break;
|
|
case ShardMessageKind::VISIT_FILES:
|
|
setVisitFiles() = other.getVisitFiles();
|
|
break;
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
setVisitTransientFiles() = other.getVisitTransientFiles();
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
setRemoveSpanInitiate() = other.getRemoveSpanInitiate();
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
setRemoveSpanCertify() = other.getRemoveSpanCertify();
|
|
break;
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
setSwapBlocks() = other.getSwapBlocks();
|
|
break;
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
setBlockServiceFiles() = other.getBlockServiceFiles();
|
|
break;
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
setRemoveInode() = other.getRemoveInode();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
setAddSpanInitiateWithReference() = other.getAddSpanInitiateWithReference();
|
|
break;
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
setRemoveZeroBlockServiceFiles() = other.getRemoveZeroBlockServiceFiles();
|
|
break;
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
setSwapSpans() = other.getSwapSpans();
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
setSameDirectoryRenameSnapshot() = other.getSameDirectoryRenameSnapshot();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
setAddSpanAtLocationInitiate() = other.getAddSpanAtLocationInitiate();
|
|
break;
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
setCreateDirectoryInode() = other.getCreateDirectoryInode();
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
setSetDirectoryOwner() = other.getSetDirectoryOwner();
|
|
break;
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
setRemoveDirectoryOwner() = other.getRemoveDirectoryOwner();
|
|
break;
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
setCreateLockedCurrentEdge() = other.getCreateLockedCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
setLockCurrentEdge() = other.getLockCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
setUnlockCurrentEdge() = other.getUnlockCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
setRemoveOwnedSnapshotFileEdge() = other.getRemoveOwnedSnapshotFileEdge();
|
|
break;
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
setMakeFileTransient() = other.getMakeFileTransient();
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardMessageKind kind %s", other.kind());
|
|
}
|
|
}
|
|
|
|
void ShardRespContainer::operator=(ShardRespContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = ShardMessageKind::EMPTY;
|
|
}
|
|
|
|
size_t ShardRespContainer::packedSize() const {
|
|
switch (_kind) {
|
|
case ShardMessageKind::ERROR:
|
|
return sizeof(ShardMessageKind) + sizeof(TernError);
|
|
case ShardMessageKind::LOOKUP:
|
|
return sizeof(ShardMessageKind) + std::get<1>(_data).packedSize();
|
|
case ShardMessageKind::STAT_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<2>(_data).packedSize();
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
return sizeof(ShardMessageKind) + std::get<3>(_data).packedSize();
|
|
case ShardMessageKind::READ_DIR:
|
|
return sizeof(ShardMessageKind) + std::get<4>(_data).packedSize();
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<5>(_data).packedSize();
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
return sizeof(ShardMessageKind) + std::get<6>(_data).packedSize();
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
return sizeof(ShardMessageKind) + std::get<7>(_data).packedSize();
|
|
case ShardMessageKind::LINK_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<8>(_data).packedSize();
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<9>(_data).packedSize();
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
return sizeof(ShardMessageKind) + std::get<10>(_data).packedSize();
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
return sizeof(ShardMessageKind) + std::get<11>(_data).packedSize();
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
return sizeof(ShardMessageKind) + std::get<12>(_data).packedSize();
|
|
case ShardMessageKind::SET_TIME:
|
|
return sizeof(ShardMessageKind) + std::get<13>(_data).packedSize();
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
return sizeof(ShardMessageKind) + std::get<14>(_data).packedSize();
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
return sizeof(ShardMessageKind) + std::get<15>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
return sizeof(ShardMessageKind) + std::get<16>(_data).packedSize();
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
return sizeof(ShardMessageKind) + std::get<17>(_data).packedSize();
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<18>(_data).packedSize();
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
return sizeof(ShardMessageKind) + std::get<19>(_data).packedSize();
|
|
case ShardMessageKind::FILE_SPANS:
|
|
return sizeof(ShardMessageKind) + std::get<20>(_data).packedSize();
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
return sizeof(ShardMessageKind) + std::get<21>(_data).packedSize();
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
return sizeof(ShardMessageKind) + std::get<22>(_data).packedSize();
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
return sizeof(ShardMessageKind) + std::get<23>(_data).packedSize();
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
return sizeof(ShardMessageKind) + std::get<24>(_data).packedSize();
|
|
case ShardMessageKind::VISIT_FILES:
|
|
return sizeof(ShardMessageKind) + std::get<25>(_data).packedSize();
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
return sizeof(ShardMessageKind) + std::get<26>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
return sizeof(ShardMessageKind) + std::get<27>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
return sizeof(ShardMessageKind) + std::get<28>(_data).packedSize();
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
return sizeof(ShardMessageKind) + std::get<29>(_data).packedSize();
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
return sizeof(ShardMessageKind) + std::get<30>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
return sizeof(ShardMessageKind) + std::get<31>(_data).packedSize();
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
return sizeof(ShardMessageKind) + std::get<32>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
return sizeof(ShardMessageKind) + std::get<33>(_data).packedSize();
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
return sizeof(ShardMessageKind) + std::get<34>(_data).packedSize();
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
return sizeof(ShardMessageKind) + std::get<35>(_data).packedSize();
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
return sizeof(ShardMessageKind) + std::get<36>(_data).packedSize();
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
return sizeof(ShardMessageKind) + std::get<37>(_data).packedSize();
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
return sizeof(ShardMessageKind) + std::get<38>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
return sizeof(ShardMessageKind) + std::get<39>(_data).packedSize();
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
return sizeof(ShardMessageKind) + std::get<40>(_data).packedSize();
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
return sizeof(ShardMessageKind) + std::get<41>(_data).packedSize();
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
return sizeof(ShardMessageKind) + std::get<42>(_data).packedSize();
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
return sizeof(ShardMessageKind) + std::get<43>(_data).packedSize();
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
return sizeof(ShardMessageKind) + std::get<44>(_data).packedSize();
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void ShardRespContainer::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<ShardMessageKind>(_kind);
|
|
switch (_kind) {
|
|
case ShardMessageKind::ERROR:
|
|
buf.packScalar<TernError>(std::get<0>(_data));
|
|
break;
|
|
case ShardMessageKind::LOOKUP:
|
|
std::get<1>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_FILE:
|
|
std::get<2>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
std::get<3>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::READ_DIR:
|
|
std::get<4>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
std::get<5>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
std::get<6>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
std::get<7>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::LINK_FILE:
|
|
std::get<8>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
std::get<9>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
std::get<10>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
std::get<11>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
std::get<12>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_TIME:
|
|
std::get<13>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
std::get<14>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
std::get<15>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
std::get<16>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
std::get<17>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
std::get<18>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
std::get<19>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::FILE_SPANS:
|
|
std::get<20>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
std::get<21>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
std::get<22>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
std::get<23>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
std::get<24>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_FILES:
|
|
std::get<25>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
std::get<26>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
std::get<27>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
std::get<28>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
std::get<29>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
std::get<30>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
std::get<31>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
std::get<32>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
std::get<33>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
std::get<34>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
std::get<35>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
std::get<36>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
std::get<37>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
std::get<38>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
std::get<39>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
std::get<40>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
std::get<41>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
std::get<42>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
std::get<43>(_data).pack(buf);
|
|
break;
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
std::get<44>(_data).pack(buf);
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void ShardRespContainer::unpack(BincodeBuf& buf) {
|
|
_kind = buf.unpackScalar<ShardMessageKind>();
|
|
switch (_kind) {
|
|
case ShardMessageKind::ERROR:
|
|
_data.emplace<0>(buf.unpackScalar<TernError>());
|
|
break;
|
|
case ShardMessageKind::LOOKUP:
|
|
_data.emplace<1>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_FILE:
|
|
_data.emplace<2>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
_data.emplace<3>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::READ_DIR:
|
|
_data.emplace<4>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
_data.emplace<5>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
_data.emplace<6>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
_data.emplace<7>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::LINK_FILE:
|
|
_data.emplace<8>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
_data.emplace<9>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
_data.emplace<10>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
_data.emplace<11>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
_data.emplace<12>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_TIME:
|
|
_data.emplace<13>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
_data.emplace<14>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
_data.emplace<15>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
_data.emplace<16>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
_data.emplace<17>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
_data.emplace<18>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
_data.emplace<19>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::FILE_SPANS:
|
|
_data.emplace<20>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
_data.emplace<21>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
_data.emplace<22>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
_data.emplace<23>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
_data.emplace<24>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_FILES:
|
|
_data.emplace<25>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
_data.emplace<26>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
_data.emplace<27>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
_data.emplace<28>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
_data.emplace<29>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
_data.emplace<30>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
_data.emplace<31>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
_data.emplace<32>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
_data.emplace<33>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
_data.emplace<34>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
_data.emplace<35>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
_data.emplace<36>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
_data.emplace<37>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
_data.emplace<38>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
_data.emplace<39>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
_data.emplace<40>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
_data.emplace<41>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
_data.emplace<42>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
_data.emplace<43>().unpack(buf);
|
|
break;
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
_data.emplace<44>().unpack(buf);
|
|
break;
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad ShardMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
bool ShardRespContainer::operator==(const ShardRespContainer& other) const {
|
|
if (_kind != other.kind()) { return false; }
|
|
if (_kind == ShardMessageKind::EMPTY) { return true; }
|
|
switch (_kind) {
|
|
case ShardMessageKind::ERROR:
|
|
return getError() == other.getError();
|
|
case ShardMessageKind::LOOKUP:
|
|
return getLookup() == other.getLookup();
|
|
case ShardMessageKind::STAT_FILE:
|
|
return getStatFile() == other.getStatFile();
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
return getStatDirectory() == other.getStatDirectory();
|
|
case ShardMessageKind::READ_DIR:
|
|
return getReadDir() == other.getReadDir();
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
return getConstructFile() == other.getConstructFile();
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
return getAddSpanInitiate() == other.getAddSpanInitiate();
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
return getAddSpanCertify() == other.getAddSpanCertify();
|
|
case ShardMessageKind::LINK_FILE:
|
|
return getLinkFile() == other.getLinkFile();
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
return getSoftUnlinkFile() == other.getSoftUnlinkFile();
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
return getLocalFileSpans() == other.getLocalFileSpans();
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
return getSameDirectoryRename() == other.getSameDirectoryRename();
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
return getAddInlineSpan() == other.getAddInlineSpan();
|
|
case ShardMessageKind::SET_TIME:
|
|
return getSetTime() == other.getSetTime();
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
return getFullReadDir() == other.getFullReadDir();
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
return getMoveSpan() == other.getMoveSpan();
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
return getRemoveNonOwnedEdge() == other.getRemoveNonOwnedEdge();
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
return getSameShardHardFileUnlink() == other.getSameShardHardFileUnlink();
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
return getStatTransientFile() == other.getStatTransientFile();
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
return getShardSnapshot() == other.getShardSnapshot();
|
|
case ShardMessageKind::FILE_SPANS:
|
|
return getFileSpans() == other.getFileSpans();
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
return getAddSpanLocation() == other.getAddSpanLocation();
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
return getScrapTransientFile() == other.getScrapTransientFile();
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
return getSetDirectoryInfo() == other.getSetDirectoryInfo();
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
return getVisitDirectories() == other.getVisitDirectories();
|
|
case ShardMessageKind::VISIT_FILES:
|
|
return getVisitFiles() == other.getVisitFiles();
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
return getVisitTransientFiles() == other.getVisitTransientFiles();
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
return getRemoveSpanInitiate() == other.getRemoveSpanInitiate();
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
return getRemoveSpanCertify() == other.getRemoveSpanCertify();
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
return getSwapBlocks() == other.getSwapBlocks();
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
return getBlockServiceFiles() == other.getBlockServiceFiles();
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
return getRemoveInode() == other.getRemoveInode();
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
return getAddSpanInitiateWithReference() == other.getAddSpanInitiateWithReference();
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
return getRemoveZeroBlockServiceFiles() == other.getRemoveZeroBlockServiceFiles();
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
return getSwapSpans() == other.getSwapSpans();
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
return getSameDirectoryRenameSnapshot() == other.getSameDirectoryRenameSnapshot();
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
return getAddSpanAtLocationInitiate() == other.getAddSpanAtLocationInitiate();
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
return getCreateDirectoryInode() == other.getCreateDirectoryInode();
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
return getSetDirectoryOwner() == other.getSetDirectoryOwner();
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
return getRemoveDirectoryOwner() == other.getRemoveDirectoryOwner();
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
return getCreateLockedCurrentEdge() == other.getCreateLockedCurrentEdge();
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
return getLockCurrentEdge() == other.getLockCurrentEdge();
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
return getUnlockCurrentEdge() == other.getUnlockCurrentEdge();
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
return getRemoveOwnedSnapshotFileEdge() == other.getRemoveOwnedSnapshotFileEdge();
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
return getMakeFileTransient() == other.getMakeFileTransient();
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad ShardMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, const ShardRespContainer& x) {
|
|
switch (x.kind()) {
|
|
case ShardMessageKind::ERROR:
|
|
out << x.getError();
|
|
break;
|
|
case ShardMessageKind::LOOKUP:
|
|
out << x.getLookup();
|
|
break;
|
|
case ShardMessageKind::STAT_FILE:
|
|
out << x.getStatFile();
|
|
break;
|
|
case ShardMessageKind::STAT_DIRECTORY:
|
|
out << x.getStatDirectory();
|
|
break;
|
|
case ShardMessageKind::READ_DIR:
|
|
out << x.getReadDir();
|
|
break;
|
|
case ShardMessageKind::CONSTRUCT_FILE:
|
|
out << x.getConstructFile();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE:
|
|
out << x.getAddSpanInitiate();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_CERTIFY:
|
|
out << x.getAddSpanCertify();
|
|
break;
|
|
case ShardMessageKind::LINK_FILE:
|
|
out << x.getLinkFile();
|
|
break;
|
|
case ShardMessageKind::SOFT_UNLINK_FILE:
|
|
out << x.getSoftUnlinkFile();
|
|
break;
|
|
case ShardMessageKind::LOCAL_FILE_SPANS:
|
|
out << x.getLocalFileSpans();
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME:
|
|
out << x.getSameDirectoryRename();
|
|
break;
|
|
case ShardMessageKind::ADD_INLINE_SPAN:
|
|
out << x.getAddInlineSpan();
|
|
break;
|
|
case ShardMessageKind::SET_TIME:
|
|
out << x.getSetTime();
|
|
break;
|
|
case ShardMessageKind::FULL_READ_DIR:
|
|
out << x.getFullReadDir();
|
|
break;
|
|
case ShardMessageKind::MOVE_SPAN:
|
|
out << x.getMoveSpan();
|
|
break;
|
|
case ShardMessageKind::REMOVE_NON_OWNED_EDGE:
|
|
out << x.getRemoveNonOwnedEdge();
|
|
break;
|
|
case ShardMessageKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
out << x.getSameShardHardFileUnlink();
|
|
break;
|
|
case ShardMessageKind::STAT_TRANSIENT_FILE:
|
|
out << x.getStatTransientFile();
|
|
break;
|
|
case ShardMessageKind::SHARD_SNAPSHOT:
|
|
out << x.getShardSnapshot();
|
|
break;
|
|
case ShardMessageKind::FILE_SPANS:
|
|
out << x.getFileSpans();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_LOCATION:
|
|
out << x.getAddSpanLocation();
|
|
break;
|
|
case ShardMessageKind::SCRAP_TRANSIENT_FILE:
|
|
out << x.getScrapTransientFile();
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_INFO:
|
|
out << x.getSetDirectoryInfo();
|
|
break;
|
|
case ShardMessageKind::VISIT_DIRECTORIES:
|
|
out << x.getVisitDirectories();
|
|
break;
|
|
case ShardMessageKind::VISIT_FILES:
|
|
out << x.getVisitFiles();
|
|
break;
|
|
case ShardMessageKind::VISIT_TRANSIENT_FILES:
|
|
out << x.getVisitTransientFiles();
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_INITIATE:
|
|
out << x.getRemoveSpanInitiate();
|
|
break;
|
|
case ShardMessageKind::REMOVE_SPAN_CERTIFY:
|
|
out << x.getRemoveSpanCertify();
|
|
break;
|
|
case ShardMessageKind::SWAP_BLOCKS:
|
|
out << x.getSwapBlocks();
|
|
break;
|
|
case ShardMessageKind::BLOCK_SERVICE_FILES:
|
|
out << x.getBlockServiceFiles();
|
|
break;
|
|
case ShardMessageKind::REMOVE_INODE:
|
|
out << x.getRemoveInode();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_INITIATE_WITH_REFERENCE:
|
|
out << x.getAddSpanInitiateWithReference();
|
|
break;
|
|
case ShardMessageKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
out << x.getRemoveZeroBlockServiceFiles();
|
|
break;
|
|
case ShardMessageKind::SWAP_SPANS:
|
|
out << x.getSwapSpans();
|
|
break;
|
|
case ShardMessageKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
out << x.getSameDirectoryRenameSnapshot();
|
|
break;
|
|
case ShardMessageKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
out << x.getAddSpanAtLocationInitiate();
|
|
break;
|
|
case ShardMessageKind::CREATE_DIRECTORY_INODE:
|
|
out << x.getCreateDirectoryInode();
|
|
break;
|
|
case ShardMessageKind::SET_DIRECTORY_OWNER:
|
|
out << x.getSetDirectoryOwner();
|
|
break;
|
|
case ShardMessageKind::REMOVE_DIRECTORY_OWNER:
|
|
out << x.getRemoveDirectoryOwner();
|
|
break;
|
|
case ShardMessageKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
out << x.getCreateLockedCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::LOCK_CURRENT_EDGE:
|
|
out << x.getLockCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::UNLOCK_CURRENT_EDGE:
|
|
out << x.getUnlockCurrentEdge();
|
|
break;
|
|
case ShardMessageKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
out << x.getRemoveOwnedSnapshotFileEdge();
|
|
break;
|
|
case ShardMessageKind::MAKE_FILE_TRANSIENT:
|
|
out << x.getMakeFileTransient();
|
|
break;
|
|
case ShardMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardMessageKind kind %s", x.kind());
|
|
}
|
|
return out;
|
|
}
|
|
|
|
const MakeDirectoryReq& CDCReqContainer::getMakeDirectory() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::MAKE_DIRECTORY, "%s != %s", _kind, CDCMessageKind::MAKE_DIRECTORY);
|
|
return std::get<0>(_data);
|
|
}
|
|
MakeDirectoryReq& CDCReqContainer::setMakeDirectory() {
|
|
_kind = CDCMessageKind::MAKE_DIRECTORY;
|
|
auto& x = _data.emplace<0>();
|
|
return x;
|
|
}
|
|
const RenameFileReq& CDCReqContainer::getRenameFile() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::RENAME_FILE, "%s != %s", _kind, CDCMessageKind::RENAME_FILE);
|
|
return std::get<1>(_data);
|
|
}
|
|
RenameFileReq& CDCReqContainer::setRenameFile() {
|
|
_kind = CDCMessageKind::RENAME_FILE;
|
|
auto& x = _data.emplace<1>();
|
|
return x;
|
|
}
|
|
const SoftUnlinkDirectoryReq& CDCReqContainer::getSoftUnlinkDirectory() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::SOFT_UNLINK_DIRECTORY, "%s != %s", _kind, CDCMessageKind::SOFT_UNLINK_DIRECTORY);
|
|
return std::get<2>(_data);
|
|
}
|
|
SoftUnlinkDirectoryReq& CDCReqContainer::setSoftUnlinkDirectory() {
|
|
_kind = CDCMessageKind::SOFT_UNLINK_DIRECTORY;
|
|
auto& x = _data.emplace<2>();
|
|
return x;
|
|
}
|
|
const RenameDirectoryReq& CDCReqContainer::getRenameDirectory() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::RENAME_DIRECTORY, "%s != %s", _kind, CDCMessageKind::RENAME_DIRECTORY);
|
|
return std::get<3>(_data);
|
|
}
|
|
RenameDirectoryReq& CDCReqContainer::setRenameDirectory() {
|
|
_kind = CDCMessageKind::RENAME_DIRECTORY;
|
|
auto& x = _data.emplace<3>();
|
|
return x;
|
|
}
|
|
const HardUnlinkDirectoryReq& CDCReqContainer::getHardUnlinkDirectory() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::HARD_UNLINK_DIRECTORY, "%s != %s", _kind, CDCMessageKind::HARD_UNLINK_DIRECTORY);
|
|
return std::get<4>(_data);
|
|
}
|
|
HardUnlinkDirectoryReq& CDCReqContainer::setHardUnlinkDirectory() {
|
|
_kind = CDCMessageKind::HARD_UNLINK_DIRECTORY;
|
|
auto& x = _data.emplace<4>();
|
|
return x;
|
|
}
|
|
const CrossShardHardUnlinkFileReq& CDCReqContainer::getCrossShardHardUnlinkFile() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE, "%s != %s", _kind, CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE);
|
|
return std::get<5>(_data);
|
|
}
|
|
CrossShardHardUnlinkFileReq& CDCReqContainer::setCrossShardHardUnlinkFile() {
|
|
_kind = CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE;
|
|
auto& x = _data.emplace<5>();
|
|
return x;
|
|
}
|
|
const CdcSnapshotReq& CDCReqContainer::getCdcSnapshot() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::CDC_SNAPSHOT, "%s != %s", _kind, CDCMessageKind::CDC_SNAPSHOT);
|
|
return std::get<6>(_data);
|
|
}
|
|
CdcSnapshotReq& CDCReqContainer::setCdcSnapshot() {
|
|
_kind = CDCMessageKind::CDC_SNAPSHOT;
|
|
auto& x = _data.emplace<6>();
|
|
return x;
|
|
}
|
|
CDCReqContainer::CDCReqContainer() {
|
|
clear();
|
|
}
|
|
|
|
CDCReqContainer::CDCReqContainer(const CDCReqContainer& other) {
|
|
*this = other;
|
|
}
|
|
|
|
CDCReqContainer::CDCReqContainer(CDCReqContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = CDCMessageKind::EMPTY;
|
|
}
|
|
|
|
void CDCReqContainer::operator=(const CDCReqContainer& other) {
|
|
if (other.kind() == CDCMessageKind::EMPTY) { clear(); return; }
|
|
switch (other.kind()) {
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
setMakeDirectory() = other.getMakeDirectory();
|
|
break;
|
|
case CDCMessageKind::RENAME_FILE:
|
|
setRenameFile() = other.getRenameFile();
|
|
break;
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
setSoftUnlinkDirectory() = other.getSoftUnlinkDirectory();
|
|
break;
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
setRenameDirectory() = other.getRenameDirectory();
|
|
break;
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
setHardUnlinkDirectory() = other.getHardUnlinkDirectory();
|
|
break;
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
setCrossShardHardUnlinkFile() = other.getCrossShardHardUnlinkFile();
|
|
break;
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
setCdcSnapshot() = other.getCdcSnapshot();
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad CDCMessageKind kind %s", other.kind());
|
|
}
|
|
}
|
|
|
|
void CDCReqContainer::operator=(CDCReqContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = CDCMessageKind::EMPTY;
|
|
}
|
|
|
|
size_t CDCReqContainer::packedSize() const {
|
|
switch (_kind) {
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
return sizeof(CDCMessageKind) + std::get<0>(_data).packedSize();
|
|
case CDCMessageKind::RENAME_FILE:
|
|
return sizeof(CDCMessageKind) + std::get<1>(_data).packedSize();
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
return sizeof(CDCMessageKind) + std::get<2>(_data).packedSize();
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
return sizeof(CDCMessageKind) + std::get<3>(_data).packedSize();
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
return sizeof(CDCMessageKind) + std::get<4>(_data).packedSize();
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
return sizeof(CDCMessageKind) + std::get<5>(_data).packedSize();
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
return sizeof(CDCMessageKind) + std::get<6>(_data).packedSize();
|
|
default:
|
|
throw TERN_EXCEPTION("bad CDCMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void CDCReqContainer::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<CDCMessageKind>(_kind);
|
|
switch (_kind) {
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
std::get<0>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::RENAME_FILE:
|
|
std::get<1>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
std::get<2>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
std::get<3>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
std::get<4>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
std::get<5>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
std::get<6>(_data).pack(buf);
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad CDCMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void CDCReqContainer::unpack(BincodeBuf& buf) {
|
|
_kind = buf.unpackScalar<CDCMessageKind>();
|
|
switch (_kind) {
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
_data.emplace<0>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::RENAME_FILE:
|
|
_data.emplace<1>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
_data.emplace<2>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
_data.emplace<3>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
_data.emplace<4>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
_data.emplace<5>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
_data.emplace<6>().unpack(buf);
|
|
break;
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad CDCMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
bool CDCReqContainer::operator==(const CDCReqContainer& other) const {
|
|
if (_kind != other.kind()) { return false; }
|
|
if (_kind == CDCMessageKind::EMPTY) { return true; }
|
|
switch (_kind) {
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
return getMakeDirectory() == other.getMakeDirectory();
|
|
case CDCMessageKind::RENAME_FILE:
|
|
return getRenameFile() == other.getRenameFile();
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
return getSoftUnlinkDirectory() == other.getSoftUnlinkDirectory();
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
return getRenameDirectory() == other.getRenameDirectory();
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
return getHardUnlinkDirectory() == other.getHardUnlinkDirectory();
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
return getCrossShardHardUnlinkFile() == other.getCrossShardHardUnlinkFile();
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
return getCdcSnapshot() == other.getCdcSnapshot();
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad CDCMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, const CDCReqContainer& x) {
|
|
switch (x.kind()) {
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
out << x.getMakeDirectory();
|
|
break;
|
|
case CDCMessageKind::RENAME_FILE:
|
|
out << x.getRenameFile();
|
|
break;
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
out << x.getSoftUnlinkDirectory();
|
|
break;
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
out << x.getRenameDirectory();
|
|
break;
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
out << x.getHardUnlinkDirectory();
|
|
break;
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
out << x.getCrossShardHardUnlinkFile();
|
|
break;
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
out << x.getCdcSnapshot();
|
|
break;
|
|
case CDCMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad CDCMessageKind kind %s", x.kind());
|
|
}
|
|
return out;
|
|
}
|
|
|
|
const TernError& CDCRespContainer::getError() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::ERROR, "%s != %s", _kind, CDCMessageKind::ERROR);
|
|
return std::get<0>(_data);
|
|
}
|
|
TernError& CDCRespContainer::setError() {
|
|
_kind = CDCMessageKind::ERROR;
|
|
auto& x = _data.emplace<0>();
|
|
return x;
|
|
}
|
|
const MakeDirectoryResp& CDCRespContainer::getMakeDirectory() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::MAKE_DIRECTORY, "%s != %s", _kind, CDCMessageKind::MAKE_DIRECTORY);
|
|
return std::get<1>(_data);
|
|
}
|
|
MakeDirectoryResp& CDCRespContainer::setMakeDirectory() {
|
|
_kind = CDCMessageKind::MAKE_DIRECTORY;
|
|
auto& x = _data.emplace<1>();
|
|
return x;
|
|
}
|
|
const RenameFileResp& CDCRespContainer::getRenameFile() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::RENAME_FILE, "%s != %s", _kind, CDCMessageKind::RENAME_FILE);
|
|
return std::get<2>(_data);
|
|
}
|
|
RenameFileResp& CDCRespContainer::setRenameFile() {
|
|
_kind = CDCMessageKind::RENAME_FILE;
|
|
auto& x = _data.emplace<2>();
|
|
return x;
|
|
}
|
|
const SoftUnlinkDirectoryResp& CDCRespContainer::getSoftUnlinkDirectory() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::SOFT_UNLINK_DIRECTORY, "%s != %s", _kind, CDCMessageKind::SOFT_UNLINK_DIRECTORY);
|
|
return std::get<3>(_data);
|
|
}
|
|
SoftUnlinkDirectoryResp& CDCRespContainer::setSoftUnlinkDirectory() {
|
|
_kind = CDCMessageKind::SOFT_UNLINK_DIRECTORY;
|
|
auto& x = _data.emplace<3>();
|
|
return x;
|
|
}
|
|
const RenameDirectoryResp& CDCRespContainer::getRenameDirectory() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::RENAME_DIRECTORY, "%s != %s", _kind, CDCMessageKind::RENAME_DIRECTORY);
|
|
return std::get<4>(_data);
|
|
}
|
|
RenameDirectoryResp& CDCRespContainer::setRenameDirectory() {
|
|
_kind = CDCMessageKind::RENAME_DIRECTORY;
|
|
auto& x = _data.emplace<4>();
|
|
return x;
|
|
}
|
|
const HardUnlinkDirectoryResp& CDCRespContainer::getHardUnlinkDirectory() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::HARD_UNLINK_DIRECTORY, "%s != %s", _kind, CDCMessageKind::HARD_UNLINK_DIRECTORY);
|
|
return std::get<5>(_data);
|
|
}
|
|
HardUnlinkDirectoryResp& CDCRespContainer::setHardUnlinkDirectory() {
|
|
_kind = CDCMessageKind::HARD_UNLINK_DIRECTORY;
|
|
auto& x = _data.emplace<5>();
|
|
return x;
|
|
}
|
|
const CrossShardHardUnlinkFileResp& CDCRespContainer::getCrossShardHardUnlinkFile() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE, "%s != %s", _kind, CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE);
|
|
return std::get<6>(_data);
|
|
}
|
|
CrossShardHardUnlinkFileResp& CDCRespContainer::setCrossShardHardUnlinkFile() {
|
|
_kind = CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE;
|
|
auto& x = _data.emplace<6>();
|
|
return x;
|
|
}
|
|
const CdcSnapshotResp& CDCRespContainer::getCdcSnapshot() const {
|
|
ALWAYS_ASSERT(_kind == CDCMessageKind::CDC_SNAPSHOT, "%s != %s", _kind, CDCMessageKind::CDC_SNAPSHOT);
|
|
return std::get<7>(_data);
|
|
}
|
|
CdcSnapshotResp& CDCRespContainer::setCdcSnapshot() {
|
|
_kind = CDCMessageKind::CDC_SNAPSHOT;
|
|
auto& x = _data.emplace<7>();
|
|
return x;
|
|
}
|
|
CDCRespContainer::CDCRespContainer() {
|
|
clear();
|
|
}
|
|
|
|
CDCRespContainer::CDCRespContainer(const CDCRespContainer& other) {
|
|
*this = other;
|
|
}
|
|
|
|
CDCRespContainer::CDCRespContainer(CDCRespContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = CDCMessageKind::EMPTY;
|
|
}
|
|
|
|
void CDCRespContainer::operator=(const CDCRespContainer& other) {
|
|
if (other.kind() == CDCMessageKind::EMPTY) { clear(); return; }
|
|
switch (other.kind()) {
|
|
case CDCMessageKind::ERROR:
|
|
setError() = other.getError();
|
|
break;
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
setMakeDirectory() = other.getMakeDirectory();
|
|
break;
|
|
case CDCMessageKind::RENAME_FILE:
|
|
setRenameFile() = other.getRenameFile();
|
|
break;
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
setSoftUnlinkDirectory() = other.getSoftUnlinkDirectory();
|
|
break;
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
setRenameDirectory() = other.getRenameDirectory();
|
|
break;
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
setHardUnlinkDirectory() = other.getHardUnlinkDirectory();
|
|
break;
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
setCrossShardHardUnlinkFile() = other.getCrossShardHardUnlinkFile();
|
|
break;
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
setCdcSnapshot() = other.getCdcSnapshot();
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad CDCMessageKind kind %s", other.kind());
|
|
}
|
|
}
|
|
|
|
void CDCRespContainer::operator=(CDCRespContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = CDCMessageKind::EMPTY;
|
|
}
|
|
|
|
size_t CDCRespContainer::packedSize() const {
|
|
switch (_kind) {
|
|
case CDCMessageKind::ERROR:
|
|
return sizeof(CDCMessageKind) + sizeof(TernError);
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
return sizeof(CDCMessageKind) + std::get<1>(_data).packedSize();
|
|
case CDCMessageKind::RENAME_FILE:
|
|
return sizeof(CDCMessageKind) + std::get<2>(_data).packedSize();
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
return sizeof(CDCMessageKind) + std::get<3>(_data).packedSize();
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
return sizeof(CDCMessageKind) + std::get<4>(_data).packedSize();
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
return sizeof(CDCMessageKind) + std::get<5>(_data).packedSize();
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
return sizeof(CDCMessageKind) + std::get<6>(_data).packedSize();
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
return sizeof(CDCMessageKind) + std::get<7>(_data).packedSize();
|
|
default:
|
|
throw TERN_EXCEPTION("bad CDCMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void CDCRespContainer::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<CDCMessageKind>(_kind);
|
|
switch (_kind) {
|
|
case CDCMessageKind::ERROR:
|
|
buf.packScalar<TernError>(std::get<0>(_data));
|
|
break;
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
std::get<1>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::RENAME_FILE:
|
|
std::get<2>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
std::get<3>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
std::get<4>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
std::get<5>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
std::get<6>(_data).pack(buf);
|
|
break;
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
std::get<7>(_data).pack(buf);
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad CDCMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void CDCRespContainer::unpack(BincodeBuf& buf) {
|
|
_kind = buf.unpackScalar<CDCMessageKind>();
|
|
switch (_kind) {
|
|
case CDCMessageKind::ERROR:
|
|
_data.emplace<0>(buf.unpackScalar<TernError>());
|
|
break;
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
_data.emplace<1>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::RENAME_FILE:
|
|
_data.emplace<2>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
_data.emplace<3>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
_data.emplace<4>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
_data.emplace<5>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
_data.emplace<6>().unpack(buf);
|
|
break;
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
_data.emplace<7>().unpack(buf);
|
|
break;
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad CDCMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
bool CDCRespContainer::operator==(const CDCRespContainer& other) const {
|
|
if (_kind != other.kind()) { return false; }
|
|
if (_kind == CDCMessageKind::EMPTY) { return true; }
|
|
switch (_kind) {
|
|
case CDCMessageKind::ERROR:
|
|
return getError() == other.getError();
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
return getMakeDirectory() == other.getMakeDirectory();
|
|
case CDCMessageKind::RENAME_FILE:
|
|
return getRenameFile() == other.getRenameFile();
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
return getSoftUnlinkDirectory() == other.getSoftUnlinkDirectory();
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
return getRenameDirectory() == other.getRenameDirectory();
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
return getHardUnlinkDirectory() == other.getHardUnlinkDirectory();
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
return getCrossShardHardUnlinkFile() == other.getCrossShardHardUnlinkFile();
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
return getCdcSnapshot() == other.getCdcSnapshot();
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad CDCMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, const CDCRespContainer& x) {
|
|
switch (x.kind()) {
|
|
case CDCMessageKind::ERROR:
|
|
out << x.getError();
|
|
break;
|
|
case CDCMessageKind::MAKE_DIRECTORY:
|
|
out << x.getMakeDirectory();
|
|
break;
|
|
case CDCMessageKind::RENAME_FILE:
|
|
out << x.getRenameFile();
|
|
break;
|
|
case CDCMessageKind::SOFT_UNLINK_DIRECTORY:
|
|
out << x.getSoftUnlinkDirectory();
|
|
break;
|
|
case CDCMessageKind::RENAME_DIRECTORY:
|
|
out << x.getRenameDirectory();
|
|
break;
|
|
case CDCMessageKind::HARD_UNLINK_DIRECTORY:
|
|
out << x.getHardUnlinkDirectory();
|
|
break;
|
|
case CDCMessageKind::CROSS_SHARD_HARD_UNLINK_FILE:
|
|
out << x.getCrossShardHardUnlinkFile();
|
|
break;
|
|
case CDCMessageKind::CDC_SNAPSHOT:
|
|
out << x.getCdcSnapshot();
|
|
break;
|
|
case CDCMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad CDCMessageKind kind %s", x.kind());
|
|
}
|
|
return out;
|
|
}
|
|
|
|
const LocalShardsReq& RegistryReqContainer::getLocalShards() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::LOCAL_SHARDS, "%s != %s", _kind, RegistryMessageKind::LOCAL_SHARDS);
|
|
return std::get<0>(_data);
|
|
}
|
|
LocalShardsReq& RegistryReqContainer::setLocalShards() {
|
|
_kind = RegistryMessageKind::LOCAL_SHARDS;
|
|
auto& x = _data.emplace<0>();
|
|
return x;
|
|
}
|
|
const LocalCdcReq& RegistryReqContainer::getLocalCdc() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::LOCAL_CDC, "%s != %s", _kind, RegistryMessageKind::LOCAL_CDC);
|
|
return std::get<1>(_data);
|
|
}
|
|
LocalCdcReq& RegistryReqContainer::setLocalCdc() {
|
|
_kind = RegistryMessageKind::LOCAL_CDC;
|
|
auto& x = _data.emplace<1>();
|
|
return x;
|
|
}
|
|
const InfoReq& RegistryReqContainer::getInfo() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::INFO, "%s != %s", _kind, RegistryMessageKind::INFO);
|
|
return std::get<2>(_data);
|
|
}
|
|
InfoReq& RegistryReqContainer::setInfo() {
|
|
_kind = RegistryMessageKind::INFO;
|
|
auto& x = _data.emplace<2>();
|
|
return x;
|
|
}
|
|
const RegistryReq& RegistryReqContainer::getRegistry() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::REGISTRY, "%s != %s", _kind, RegistryMessageKind::REGISTRY);
|
|
return std::get<3>(_data);
|
|
}
|
|
RegistryReq& RegistryReqContainer::setRegistry() {
|
|
_kind = RegistryMessageKind::REGISTRY;
|
|
auto& x = _data.emplace<3>();
|
|
return x;
|
|
}
|
|
const LocalChangedBlockServicesReq& RegistryReqContainer::getLocalChangedBlockServices() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES, "%s != %s", _kind, RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES);
|
|
return std::get<4>(_data);
|
|
}
|
|
LocalChangedBlockServicesReq& RegistryReqContainer::setLocalChangedBlockServices() {
|
|
_kind = RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES;
|
|
auto& x = _data.emplace<4>();
|
|
return x;
|
|
}
|
|
const CreateLocationReq& RegistryReqContainer::getCreateLocation() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CREATE_LOCATION, "%s != %s", _kind, RegistryMessageKind::CREATE_LOCATION);
|
|
return std::get<5>(_data);
|
|
}
|
|
CreateLocationReq& RegistryReqContainer::setCreateLocation() {
|
|
_kind = RegistryMessageKind::CREATE_LOCATION;
|
|
auto& x = _data.emplace<5>();
|
|
return x;
|
|
}
|
|
const RenameLocationReq& RegistryReqContainer::getRenameLocation() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::RENAME_LOCATION, "%s != %s", _kind, RegistryMessageKind::RENAME_LOCATION);
|
|
return std::get<6>(_data);
|
|
}
|
|
RenameLocationReq& RegistryReqContainer::setRenameLocation() {
|
|
_kind = RegistryMessageKind::RENAME_LOCATION;
|
|
auto& x = _data.emplace<6>();
|
|
return x;
|
|
}
|
|
const RegisterShardReq& RegistryReqContainer::getRegisterShard() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::REGISTER_SHARD, "%s != %s", _kind, RegistryMessageKind::REGISTER_SHARD);
|
|
return std::get<7>(_data);
|
|
}
|
|
RegisterShardReq& RegistryReqContainer::setRegisterShard() {
|
|
_kind = RegistryMessageKind::REGISTER_SHARD;
|
|
auto& x = _data.emplace<7>();
|
|
return x;
|
|
}
|
|
const LocationsReq& RegistryReqContainer::getLocations() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::LOCATIONS, "%s != %s", _kind, RegistryMessageKind::LOCATIONS);
|
|
return std::get<8>(_data);
|
|
}
|
|
LocationsReq& RegistryReqContainer::setLocations() {
|
|
_kind = RegistryMessageKind::LOCATIONS;
|
|
auto& x = _data.emplace<8>();
|
|
return x;
|
|
}
|
|
const RegisterCdcReq& RegistryReqContainer::getRegisterCdc() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::REGISTER_CDC, "%s != %s", _kind, RegistryMessageKind::REGISTER_CDC);
|
|
return std::get<9>(_data);
|
|
}
|
|
RegisterCdcReq& RegistryReqContainer::setRegisterCdc() {
|
|
_kind = RegistryMessageKind::REGISTER_CDC;
|
|
auto& x = _data.emplace<9>();
|
|
return x;
|
|
}
|
|
const SetBlockServiceFlagsReq& RegistryReqContainer::getSetBlockServiceFlags() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS, "%s != %s", _kind, RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS);
|
|
return std::get<10>(_data);
|
|
}
|
|
SetBlockServiceFlagsReq& RegistryReqContainer::setSetBlockServiceFlags() {
|
|
_kind = RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS;
|
|
auto& x = _data.emplace<10>();
|
|
return x;
|
|
}
|
|
const RegisterBlockServicesReq& RegistryReqContainer::getRegisterBlockServices() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::REGISTER_BLOCK_SERVICES, "%s != %s", _kind, RegistryMessageKind::REGISTER_BLOCK_SERVICES);
|
|
return std::get<11>(_data);
|
|
}
|
|
RegisterBlockServicesReq& RegistryReqContainer::setRegisterBlockServices() {
|
|
_kind = RegistryMessageKind::REGISTER_BLOCK_SERVICES;
|
|
auto& x = _data.emplace<11>();
|
|
return x;
|
|
}
|
|
const ChangedBlockServicesAtLocationReq& RegistryReqContainer::getChangedBlockServicesAtLocation() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION, "%s != %s", _kind, RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION);
|
|
return std::get<12>(_data);
|
|
}
|
|
ChangedBlockServicesAtLocationReq& RegistryReqContainer::setChangedBlockServicesAtLocation() {
|
|
_kind = RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION;
|
|
auto& x = _data.emplace<12>();
|
|
return x;
|
|
}
|
|
const ShardsAtLocationReq& RegistryReqContainer::getShardsAtLocation() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::SHARDS_AT_LOCATION, "%s != %s", _kind, RegistryMessageKind::SHARDS_AT_LOCATION);
|
|
return std::get<13>(_data);
|
|
}
|
|
ShardsAtLocationReq& RegistryReqContainer::setShardsAtLocation() {
|
|
_kind = RegistryMessageKind::SHARDS_AT_LOCATION;
|
|
auto& x = _data.emplace<13>();
|
|
return x;
|
|
}
|
|
const CdcAtLocationReq& RegistryReqContainer::getCdcAtLocation() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CDC_AT_LOCATION, "%s != %s", _kind, RegistryMessageKind::CDC_AT_LOCATION);
|
|
return std::get<14>(_data);
|
|
}
|
|
CdcAtLocationReq& RegistryReqContainer::setCdcAtLocation() {
|
|
_kind = RegistryMessageKind::CDC_AT_LOCATION;
|
|
auto& x = _data.emplace<14>();
|
|
return x;
|
|
}
|
|
const RegisterRegistryReq& RegistryReqContainer::getRegisterRegistry() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::REGISTER_REGISTRY, "%s != %s", _kind, RegistryMessageKind::REGISTER_REGISTRY);
|
|
return std::get<15>(_data);
|
|
}
|
|
RegisterRegistryReq& RegistryReqContainer::setRegisterRegistry() {
|
|
_kind = RegistryMessageKind::REGISTER_REGISTRY;
|
|
auto& x = _data.emplace<15>();
|
|
return x;
|
|
}
|
|
const AllRegistryReplicasReq& RegistryReqContainer::getAllRegistryReplicas() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ALL_REGISTRY_REPLICAS, "%s != %s", _kind, RegistryMessageKind::ALL_REGISTRY_REPLICAS);
|
|
return std::get<16>(_data);
|
|
}
|
|
AllRegistryReplicasReq& RegistryReqContainer::setAllRegistryReplicas() {
|
|
_kind = RegistryMessageKind::ALL_REGISTRY_REPLICAS;
|
|
auto& x = _data.emplace<16>();
|
|
return x;
|
|
}
|
|
const ShardBlockServicesDEPRECATEDReq& RegistryReqContainer::getShardBlockServicesDEPRECATED() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED, "%s != %s", _kind, RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED);
|
|
return std::get<17>(_data);
|
|
}
|
|
ShardBlockServicesDEPRECATEDReq& RegistryReqContainer::setShardBlockServicesDEPRECATED() {
|
|
_kind = RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED;
|
|
auto& x = _data.emplace<17>();
|
|
return x;
|
|
}
|
|
const CdcReplicasDEPRECATEDReq& RegistryReqContainer::getCdcReplicasDEPRECATED() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED, "%s != %s", _kind, RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED);
|
|
return std::get<18>(_data);
|
|
}
|
|
CdcReplicasDEPRECATEDReq& RegistryReqContainer::setCdcReplicasDEPRECATED() {
|
|
_kind = RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED;
|
|
auto& x = _data.emplace<18>();
|
|
return x;
|
|
}
|
|
const AllShardsReq& RegistryReqContainer::getAllShards() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ALL_SHARDS, "%s != %s", _kind, RegistryMessageKind::ALL_SHARDS);
|
|
return std::get<19>(_data);
|
|
}
|
|
AllShardsReq& RegistryReqContainer::setAllShards() {
|
|
_kind = RegistryMessageKind::ALL_SHARDS;
|
|
auto& x = _data.emplace<19>();
|
|
return x;
|
|
}
|
|
const DecommissionBlockServiceReq& RegistryReqContainer::getDecommissionBlockService() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE, "%s != %s", _kind, RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE);
|
|
return std::get<20>(_data);
|
|
}
|
|
DecommissionBlockServiceReq& RegistryReqContainer::setDecommissionBlockService() {
|
|
_kind = RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE;
|
|
auto& x = _data.emplace<20>();
|
|
return x;
|
|
}
|
|
const MoveShardLeaderReq& RegistryReqContainer::getMoveShardLeader() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::MOVE_SHARD_LEADER, "%s != %s", _kind, RegistryMessageKind::MOVE_SHARD_LEADER);
|
|
return std::get<21>(_data);
|
|
}
|
|
MoveShardLeaderReq& RegistryReqContainer::setMoveShardLeader() {
|
|
_kind = RegistryMessageKind::MOVE_SHARD_LEADER;
|
|
auto& x = _data.emplace<21>();
|
|
return x;
|
|
}
|
|
const ClearShardInfoReq& RegistryReqContainer::getClearShardInfo() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CLEAR_SHARD_INFO, "%s != %s", _kind, RegistryMessageKind::CLEAR_SHARD_INFO);
|
|
return std::get<22>(_data);
|
|
}
|
|
ClearShardInfoReq& RegistryReqContainer::setClearShardInfo() {
|
|
_kind = RegistryMessageKind::CLEAR_SHARD_INFO;
|
|
auto& x = _data.emplace<22>();
|
|
return x;
|
|
}
|
|
const ShardBlockServicesReq& RegistryReqContainer::getShardBlockServices() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::SHARD_BLOCK_SERVICES, "%s != %s", _kind, RegistryMessageKind::SHARD_BLOCK_SERVICES);
|
|
return std::get<23>(_data);
|
|
}
|
|
ShardBlockServicesReq& RegistryReqContainer::setShardBlockServices() {
|
|
_kind = RegistryMessageKind::SHARD_BLOCK_SERVICES;
|
|
auto& x = _data.emplace<23>();
|
|
return x;
|
|
}
|
|
const AllCdcReq& RegistryReqContainer::getAllCdc() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ALL_CDC, "%s != %s", _kind, RegistryMessageKind::ALL_CDC);
|
|
return std::get<24>(_data);
|
|
}
|
|
AllCdcReq& RegistryReqContainer::setAllCdc() {
|
|
_kind = RegistryMessageKind::ALL_CDC;
|
|
auto& x = _data.emplace<24>();
|
|
return x;
|
|
}
|
|
const EraseDecommissionedBlockReq& RegistryReqContainer::getEraseDecommissionedBlock() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK, "%s != %s", _kind, RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK);
|
|
return std::get<25>(_data);
|
|
}
|
|
EraseDecommissionedBlockReq& RegistryReqContainer::setEraseDecommissionedBlock() {
|
|
_kind = RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK;
|
|
auto& x = _data.emplace<25>();
|
|
return x;
|
|
}
|
|
const AllBlockServicesDeprecatedReq& RegistryReqContainer::getAllBlockServicesDeprecated() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED, "%s != %s", _kind, RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED);
|
|
return std::get<26>(_data);
|
|
}
|
|
AllBlockServicesDeprecatedReq& RegistryReqContainer::setAllBlockServicesDeprecated() {
|
|
_kind = RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED;
|
|
auto& x = _data.emplace<26>();
|
|
return x;
|
|
}
|
|
const MoveCdcLeaderReq& RegistryReqContainer::getMoveCdcLeader() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::MOVE_CDC_LEADER, "%s != %s", _kind, RegistryMessageKind::MOVE_CDC_LEADER);
|
|
return std::get<27>(_data);
|
|
}
|
|
MoveCdcLeaderReq& RegistryReqContainer::setMoveCdcLeader() {
|
|
_kind = RegistryMessageKind::MOVE_CDC_LEADER;
|
|
auto& x = _data.emplace<27>();
|
|
return x;
|
|
}
|
|
const ClearCdcInfoReq& RegistryReqContainer::getClearCdcInfo() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CLEAR_CDC_INFO, "%s != %s", _kind, RegistryMessageKind::CLEAR_CDC_INFO);
|
|
return std::get<28>(_data);
|
|
}
|
|
ClearCdcInfoReq& RegistryReqContainer::setClearCdcInfo() {
|
|
_kind = RegistryMessageKind::CLEAR_CDC_INFO;
|
|
auto& x = _data.emplace<28>();
|
|
return x;
|
|
}
|
|
const UpdateBlockServicePathReq& RegistryReqContainer::getUpdateBlockServicePath() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH, "%s != %s", _kind, RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH);
|
|
return std::get<29>(_data);
|
|
}
|
|
UpdateBlockServicePathReq& RegistryReqContainer::setUpdateBlockServicePath() {
|
|
_kind = RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH;
|
|
auto& x = _data.emplace<29>();
|
|
return x;
|
|
}
|
|
RegistryReqContainer::RegistryReqContainer() {
|
|
clear();
|
|
}
|
|
|
|
RegistryReqContainer::RegistryReqContainer(const RegistryReqContainer& other) {
|
|
*this = other;
|
|
}
|
|
|
|
RegistryReqContainer::RegistryReqContainer(RegistryReqContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = RegistryMessageKind::EMPTY;
|
|
}
|
|
|
|
void RegistryReqContainer::operator=(const RegistryReqContainer& other) {
|
|
if (other.kind() == RegistryMessageKind::EMPTY) { clear(); return; }
|
|
switch (other.kind()) {
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
setLocalShards() = other.getLocalShards();
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
setLocalCdc() = other.getLocalCdc();
|
|
break;
|
|
case RegistryMessageKind::INFO:
|
|
setInfo() = other.getInfo();
|
|
break;
|
|
case RegistryMessageKind::REGISTRY:
|
|
setRegistry() = other.getRegistry();
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
setLocalChangedBlockServices() = other.getLocalChangedBlockServices();
|
|
break;
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
setCreateLocation() = other.getCreateLocation();
|
|
break;
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
setRenameLocation() = other.getRenameLocation();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
setRegisterShard() = other.getRegisterShard();
|
|
break;
|
|
case RegistryMessageKind::LOCATIONS:
|
|
setLocations() = other.getLocations();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
setRegisterCdc() = other.getRegisterCdc();
|
|
break;
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
setSetBlockServiceFlags() = other.getSetBlockServiceFlags();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
setRegisterBlockServices() = other.getRegisterBlockServices();
|
|
break;
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
setChangedBlockServicesAtLocation() = other.getChangedBlockServicesAtLocation();
|
|
break;
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
setShardsAtLocation() = other.getShardsAtLocation();
|
|
break;
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
setCdcAtLocation() = other.getCdcAtLocation();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
setRegisterRegistry() = other.getRegisterRegistry();
|
|
break;
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
setAllRegistryReplicas() = other.getAllRegistryReplicas();
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
setShardBlockServicesDEPRECATED() = other.getShardBlockServicesDEPRECATED();
|
|
break;
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
setCdcReplicasDEPRECATED() = other.getCdcReplicasDEPRECATED();
|
|
break;
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
setAllShards() = other.getAllShards();
|
|
break;
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
setDecommissionBlockService() = other.getDecommissionBlockService();
|
|
break;
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
setMoveShardLeader() = other.getMoveShardLeader();
|
|
break;
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
setClearShardInfo() = other.getClearShardInfo();
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
setShardBlockServices() = other.getShardBlockServices();
|
|
break;
|
|
case RegistryMessageKind::ALL_CDC:
|
|
setAllCdc() = other.getAllCdc();
|
|
break;
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
setEraseDecommissionedBlock() = other.getEraseDecommissionedBlock();
|
|
break;
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
setAllBlockServicesDeprecated() = other.getAllBlockServicesDeprecated();
|
|
break;
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
setMoveCdcLeader() = other.getMoveCdcLeader();
|
|
break;
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
setClearCdcInfo() = other.getClearCdcInfo();
|
|
break;
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
setUpdateBlockServicePath() = other.getUpdateBlockServicePath();
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad RegistryMessageKind kind %s", other.kind());
|
|
}
|
|
}
|
|
|
|
void RegistryReqContainer::operator=(RegistryReqContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = RegistryMessageKind::EMPTY;
|
|
}
|
|
|
|
size_t RegistryReqContainer::packedSize() const {
|
|
switch (_kind) {
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
return sizeof(RegistryMessageKind) + std::get<0>(_data).packedSize();
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
return sizeof(RegistryMessageKind) + std::get<1>(_data).packedSize();
|
|
case RegistryMessageKind::INFO:
|
|
return sizeof(RegistryMessageKind) + std::get<2>(_data).packedSize();
|
|
case RegistryMessageKind::REGISTRY:
|
|
return sizeof(RegistryMessageKind) + std::get<3>(_data).packedSize();
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
return sizeof(RegistryMessageKind) + std::get<4>(_data).packedSize();
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
return sizeof(RegistryMessageKind) + std::get<5>(_data).packedSize();
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
return sizeof(RegistryMessageKind) + std::get<6>(_data).packedSize();
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
return sizeof(RegistryMessageKind) + std::get<7>(_data).packedSize();
|
|
case RegistryMessageKind::LOCATIONS:
|
|
return sizeof(RegistryMessageKind) + std::get<8>(_data).packedSize();
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
return sizeof(RegistryMessageKind) + std::get<9>(_data).packedSize();
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
return sizeof(RegistryMessageKind) + std::get<10>(_data).packedSize();
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
return sizeof(RegistryMessageKind) + std::get<11>(_data).packedSize();
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
return sizeof(RegistryMessageKind) + std::get<12>(_data).packedSize();
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
return sizeof(RegistryMessageKind) + std::get<13>(_data).packedSize();
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
return sizeof(RegistryMessageKind) + std::get<14>(_data).packedSize();
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
return sizeof(RegistryMessageKind) + std::get<15>(_data).packedSize();
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
return sizeof(RegistryMessageKind) + std::get<16>(_data).packedSize();
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
return sizeof(RegistryMessageKind) + std::get<17>(_data).packedSize();
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
return sizeof(RegistryMessageKind) + std::get<18>(_data).packedSize();
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
return sizeof(RegistryMessageKind) + std::get<19>(_data).packedSize();
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
return sizeof(RegistryMessageKind) + std::get<20>(_data).packedSize();
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
return sizeof(RegistryMessageKind) + std::get<21>(_data).packedSize();
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
return sizeof(RegistryMessageKind) + std::get<22>(_data).packedSize();
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
return sizeof(RegistryMessageKind) + std::get<23>(_data).packedSize();
|
|
case RegistryMessageKind::ALL_CDC:
|
|
return sizeof(RegistryMessageKind) + std::get<24>(_data).packedSize();
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
return sizeof(RegistryMessageKind) + std::get<25>(_data).packedSize();
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
return sizeof(RegistryMessageKind) + std::get<26>(_data).packedSize();
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
return sizeof(RegistryMessageKind) + std::get<27>(_data).packedSize();
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
return sizeof(RegistryMessageKind) + std::get<28>(_data).packedSize();
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
return sizeof(RegistryMessageKind) + std::get<29>(_data).packedSize();
|
|
default:
|
|
throw TERN_EXCEPTION("bad RegistryMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void RegistryReqContainer::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<RegistryMessageKind>(_kind);
|
|
switch (_kind) {
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
std::get<0>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
std::get<1>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::INFO:
|
|
std::get<2>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTRY:
|
|
std::get<3>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
std::get<4>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
std::get<5>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
std::get<6>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
std::get<7>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCATIONS:
|
|
std::get<8>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
std::get<9>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
std::get<10>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
std::get<11>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
std::get<12>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
std::get<13>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
std::get<14>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
std::get<15>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
std::get<16>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
std::get<17>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
std::get<18>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
std::get<19>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
std::get<20>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
std::get<21>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
std::get<22>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
std::get<23>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_CDC:
|
|
std::get<24>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
std::get<25>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
std::get<26>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
std::get<27>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
std::get<28>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
std::get<29>(_data).pack(buf);
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad RegistryMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void RegistryReqContainer::unpack(BincodeBuf& buf) {
|
|
_kind = buf.unpackScalar<RegistryMessageKind>();
|
|
switch (_kind) {
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
_data.emplace<0>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
_data.emplace<1>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::INFO:
|
|
_data.emplace<2>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTRY:
|
|
_data.emplace<3>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
_data.emplace<4>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
_data.emplace<5>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
_data.emplace<6>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
_data.emplace<7>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCATIONS:
|
|
_data.emplace<8>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
_data.emplace<9>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
_data.emplace<10>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
_data.emplace<11>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
_data.emplace<12>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
_data.emplace<13>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
_data.emplace<14>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
_data.emplace<15>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
_data.emplace<16>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
_data.emplace<17>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
_data.emplace<18>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
_data.emplace<19>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
_data.emplace<20>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
_data.emplace<21>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
_data.emplace<22>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
_data.emplace<23>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_CDC:
|
|
_data.emplace<24>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
_data.emplace<25>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
_data.emplace<26>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
_data.emplace<27>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
_data.emplace<28>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
_data.emplace<29>().unpack(buf);
|
|
break;
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad RegistryMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
bool RegistryReqContainer::operator==(const RegistryReqContainer& other) const {
|
|
if (_kind != other.kind()) { return false; }
|
|
if (_kind == RegistryMessageKind::EMPTY) { return true; }
|
|
switch (_kind) {
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
return getLocalShards() == other.getLocalShards();
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
return getLocalCdc() == other.getLocalCdc();
|
|
case RegistryMessageKind::INFO:
|
|
return getInfo() == other.getInfo();
|
|
case RegistryMessageKind::REGISTRY:
|
|
return getRegistry() == other.getRegistry();
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
return getLocalChangedBlockServices() == other.getLocalChangedBlockServices();
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
return getCreateLocation() == other.getCreateLocation();
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
return getRenameLocation() == other.getRenameLocation();
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
return getRegisterShard() == other.getRegisterShard();
|
|
case RegistryMessageKind::LOCATIONS:
|
|
return getLocations() == other.getLocations();
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
return getRegisterCdc() == other.getRegisterCdc();
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
return getSetBlockServiceFlags() == other.getSetBlockServiceFlags();
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
return getRegisterBlockServices() == other.getRegisterBlockServices();
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
return getChangedBlockServicesAtLocation() == other.getChangedBlockServicesAtLocation();
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
return getShardsAtLocation() == other.getShardsAtLocation();
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
return getCdcAtLocation() == other.getCdcAtLocation();
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
return getRegisterRegistry() == other.getRegisterRegistry();
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
return getAllRegistryReplicas() == other.getAllRegistryReplicas();
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
return getShardBlockServicesDEPRECATED() == other.getShardBlockServicesDEPRECATED();
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
return getCdcReplicasDEPRECATED() == other.getCdcReplicasDEPRECATED();
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
return getAllShards() == other.getAllShards();
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
return getDecommissionBlockService() == other.getDecommissionBlockService();
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
return getMoveShardLeader() == other.getMoveShardLeader();
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
return getClearShardInfo() == other.getClearShardInfo();
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
return getShardBlockServices() == other.getShardBlockServices();
|
|
case RegistryMessageKind::ALL_CDC:
|
|
return getAllCdc() == other.getAllCdc();
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
return getEraseDecommissionedBlock() == other.getEraseDecommissionedBlock();
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
return getAllBlockServicesDeprecated() == other.getAllBlockServicesDeprecated();
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
return getMoveCdcLeader() == other.getMoveCdcLeader();
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
return getClearCdcInfo() == other.getClearCdcInfo();
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
return getUpdateBlockServicePath() == other.getUpdateBlockServicePath();
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad RegistryMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, const RegistryReqContainer& x) {
|
|
switch (x.kind()) {
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
out << x.getLocalShards();
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
out << x.getLocalCdc();
|
|
break;
|
|
case RegistryMessageKind::INFO:
|
|
out << x.getInfo();
|
|
break;
|
|
case RegistryMessageKind::REGISTRY:
|
|
out << x.getRegistry();
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
out << x.getLocalChangedBlockServices();
|
|
break;
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
out << x.getCreateLocation();
|
|
break;
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
out << x.getRenameLocation();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
out << x.getRegisterShard();
|
|
break;
|
|
case RegistryMessageKind::LOCATIONS:
|
|
out << x.getLocations();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
out << x.getRegisterCdc();
|
|
break;
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
out << x.getSetBlockServiceFlags();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
out << x.getRegisterBlockServices();
|
|
break;
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
out << x.getChangedBlockServicesAtLocation();
|
|
break;
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
out << x.getShardsAtLocation();
|
|
break;
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
out << x.getCdcAtLocation();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
out << x.getRegisterRegistry();
|
|
break;
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
out << x.getAllRegistryReplicas();
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
out << x.getShardBlockServicesDEPRECATED();
|
|
break;
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
out << x.getCdcReplicasDEPRECATED();
|
|
break;
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
out << x.getAllShards();
|
|
break;
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
out << x.getDecommissionBlockService();
|
|
break;
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
out << x.getMoveShardLeader();
|
|
break;
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
out << x.getClearShardInfo();
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
out << x.getShardBlockServices();
|
|
break;
|
|
case RegistryMessageKind::ALL_CDC:
|
|
out << x.getAllCdc();
|
|
break;
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
out << x.getEraseDecommissionedBlock();
|
|
break;
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
out << x.getAllBlockServicesDeprecated();
|
|
break;
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
out << x.getMoveCdcLeader();
|
|
break;
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
out << x.getClearCdcInfo();
|
|
break;
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
out << x.getUpdateBlockServicePath();
|
|
break;
|
|
case RegistryMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad RegistryMessageKind kind %s", x.kind());
|
|
}
|
|
return out;
|
|
}
|
|
|
|
const TernError& RegistryRespContainer::getError() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ERROR, "%s != %s", _kind, RegistryMessageKind::ERROR);
|
|
return std::get<0>(_data);
|
|
}
|
|
TernError& RegistryRespContainer::setError() {
|
|
_kind = RegistryMessageKind::ERROR;
|
|
auto& x = _data.emplace<0>();
|
|
return x;
|
|
}
|
|
const LocalShardsResp& RegistryRespContainer::getLocalShards() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::LOCAL_SHARDS, "%s != %s", _kind, RegistryMessageKind::LOCAL_SHARDS);
|
|
return std::get<1>(_data);
|
|
}
|
|
LocalShardsResp& RegistryRespContainer::setLocalShards() {
|
|
_kind = RegistryMessageKind::LOCAL_SHARDS;
|
|
auto& x = _data.emplace<1>();
|
|
return x;
|
|
}
|
|
const LocalCdcResp& RegistryRespContainer::getLocalCdc() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::LOCAL_CDC, "%s != %s", _kind, RegistryMessageKind::LOCAL_CDC);
|
|
return std::get<2>(_data);
|
|
}
|
|
LocalCdcResp& RegistryRespContainer::setLocalCdc() {
|
|
_kind = RegistryMessageKind::LOCAL_CDC;
|
|
auto& x = _data.emplace<2>();
|
|
return x;
|
|
}
|
|
const InfoResp& RegistryRespContainer::getInfo() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::INFO, "%s != %s", _kind, RegistryMessageKind::INFO);
|
|
return std::get<3>(_data);
|
|
}
|
|
InfoResp& RegistryRespContainer::setInfo() {
|
|
_kind = RegistryMessageKind::INFO;
|
|
auto& x = _data.emplace<3>();
|
|
return x;
|
|
}
|
|
const RegistryResp& RegistryRespContainer::getRegistry() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::REGISTRY, "%s != %s", _kind, RegistryMessageKind::REGISTRY);
|
|
return std::get<4>(_data);
|
|
}
|
|
RegistryResp& RegistryRespContainer::setRegistry() {
|
|
_kind = RegistryMessageKind::REGISTRY;
|
|
auto& x = _data.emplace<4>();
|
|
return x;
|
|
}
|
|
const LocalChangedBlockServicesResp& RegistryRespContainer::getLocalChangedBlockServices() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES, "%s != %s", _kind, RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES);
|
|
return std::get<5>(_data);
|
|
}
|
|
LocalChangedBlockServicesResp& RegistryRespContainer::setLocalChangedBlockServices() {
|
|
_kind = RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES;
|
|
auto& x = _data.emplace<5>();
|
|
return x;
|
|
}
|
|
const CreateLocationResp& RegistryRespContainer::getCreateLocation() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CREATE_LOCATION, "%s != %s", _kind, RegistryMessageKind::CREATE_LOCATION);
|
|
return std::get<6>(_data);
|
|
}
|
|
CreateLocationResp& RegistryRespContainer::setCreateLocation() {
|
|
_kind = RegistryMessageKind::CREATE_LOCATION;
|
|
auto& x = _data.emplace<6>();
|
|
return x;
|
|
}
|
|
const RenameLocationResp& RegistryRespContainer::getRenameLocation() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::RENAME_LOCATION, "%s != %s", _kind, RegistryMessageKind::RENAME_LOCATION);
|
|
return std::get<7>(_data);
|
|
}
|
|
RenameLocationResp& RegistryRespContainer::setRenameLocation() {
|
|
_kind = RegistryMessageKind::RENAME_LOCATION;
|
|
auto& x = _data.emplace<7>();
|
|
return x;
|
|
}
|
|
const RegisterShardResp& RegistryRespContainer::getRegisterShard() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::REGISTER_SHARD, "%s != %s", _kind, RegistryMessageKind::REGISTER_SHARD);
|
|
return std::get<8>(_data);
|
|
}
|
|
RegisterShardResp& RegistryRespContainer::setRegisterShard() {
|
|
_kind = RegistryMessageKind::REGISTER_SHARD;
|
|
auto& x = _data.emplace<8>();
|
|
return x;
|
|
}
|
|
const LocationsResp& RegistryRespContainer::getLocations() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::LOCATIONS, "%s != %s", _kind, RegistryMessageKind::LOCATIONS);
|
|
return std::get<9>(_data);
|
|
}
|
|
LocationsResp& RegistryRespContainer::setLocations() {
|
|
_kind = RegistryMessageKind::LOCATIONS;
|
|
auto& x = _data.emplace<9>();
|
|
return x;
|
|
}
|
|
const RegisterCdcResp& RegistryRespContainer::getRegisterCdc() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::REGISTER_CDC, "%s != %s", _kind, RegistryMessageKind::REGISTER_CDC);
|
|
return std::get<10>(_data);
|
|
}
|
|
RegisterCdcResp& RegistryRespContainer::setRegisterCdc() {
|
|
_kind = RegistryMessageKind::REGISTER_CDC;
|
|
auto& x = _data.emplace<10>();
|
|
return x;
|
|
}
|
|
const SetBlockServiceFlagsResp& RegistryRespContainer::getSetBlockServiceFlags() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS, "%s != %s", _kind, RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS);
|
|
return std::get<11>(_data);
|
|
}
|
|
SetBlockServiceFlagsResp& RegistryRespContainer::setSetBlockServiceFlags() {
|
|
_kind = RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS;
|
|
auto& x = _data.emplace<11>();
|
|
return x;
|
|
}
|
|
const RegisterBlockServicesResp& RegistryRespContainer::getRegisterBlockServices() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::REGISTER_BLOCK_SERVICES, "%s != %s", _kind, RegistryMessageKind::REGISTER_BLOCK_SERVICES);
|
|
return std::get<12>(_data);
|
|
}
|
|
RegisterBlockServicesResp& RegistryRespContainer::setRegisterBlockServices() {
|
|
_kind = RegistryMessageKind::REGISTER_BLOCK_SERVICES;
|
|
auto& x = _data.emplace<12>();
|
|
return x;
|
|
}
|
|
const ChangedBlockServicesAtLocationResp& RegistryRespContainer::getChangedBlockServicesAtLocation() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION, "%s != %s", _kind, RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION);
|
|
return std::get<13>(_data);
|
|
}
|
|
ChangedBlockServicesAtLocationResp& RegistryRespContainer::setChangedBlockServicesAtLocation() {
|
|
_kind = RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION;
|
|
auto& x = _data.emplace<13>();
|
|
return x;
|
|
}
|
|
const ShardsAtLocationResp& RegistryRespContainer::getShardsAtLocation() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::SHARDS_AT_LOCATION, "%s != %s", _kind, RegistryMessageKind::SHARDS_AT_LOCATION);
|
|
return std::get<14>(_data);
|
|
}
|
|
ShardsAtLocationResp& RegistryRespContainer::setShardsAtLocation() {
|
|
_kind = RegistryMessageKind::SHARDS_AT_LOCATION;
|
|
auto& x = _data.emplace<14>();
|
|
return x;
|
|
}
|
|
const CdcAtLocationResp& RegistryRespContainer::getCdcAtLocation() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CDC_AT_LOCATION, "%s != %s", _kind, RegistryMessageKind::CDC_AT_LOCATION);
|
|
return std::get<15>(_data);
|
|
}
|
|
CdcAtLocationResp& RegistryRespContainer::setCdcAtLocation() {
|
|
_kind = RegistryMessageKind::CDC_AT_LOCATION;
|
|
auto& x = _data.emplace<15>();
|
|
return x;
|
|
}
|
|
const RegisterRegistryResp& RegistryRespContainer::getRegisterRegistry() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::REGISTER_REGISTRY, "%s != %s", _kind, RegistryMessageKind::REGISTER_REGISTRY);
|
|
return std::get<16>(_data);
|
|
}
|
|
RegisterRegistryResp& RegistryRespContainer::setRegisterRegistry() {
|
|
_kind = RegistryMessageKind::REGISTER_REGISTRY;
|
|
auto& x = _data.emplace<16>();
|
|
return x;
|
|
}
|
|
const AllRegistryReplicasResp& RegistryRespContainer::getAllRegistryReplicas() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ALL_REGISTRY_REPLICAS, "%s != %s", _kind, RegistryMessageKind::ALL_REGISTRY_REPLICAS);
|
|
return std::get<17>(_data);
|
|
}
|
|
AllRegistryReplicasResp& RegistryRespContainer::setAllRegistryReplicas() {
|
|
_kind = RegistryMessageKind::ALL_REGISTRY_REPLICAS;
|
|
auto& x = _data.emplace<17>();
|
|
return x;
|
|
}
|
|
const ShardBlockServicesDEPRECATEDResp& RegistryRespContainer::getShardBlockServicesDEPRECATED() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED, "%s != %s", _kind, RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED);
|
|
return std::get<18>(_data);
|
|
}
|
|
ShardBlockServicesDEPRECATEDResp& RegistryRespContainer::setShardBlockServicesDEPRECATED() {
|
|
_kind = RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED;
|
|
auto& x = _data.emplace<18>();
|
|
return x;
|
|
}
|
|
const CdcReplicasDEPRECATEDResp& RegistryRespContainer::getCdcReplicasDEPRECATED() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED, "%s != %s", _kind, RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED);
|
|
return std::get<19>(_data);
|
|
}
|
|
CdcReplicasDEPRECATEDResp& RegistryRespContainer::setCdcReplicasDEPRECATED() {
|
|
_kind = RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED;
|
|
auto& x = _data.emplace<19>();
|
|
return x;
|
|
}
|
|
const AllShardsResp& RegistryRespContainer::getAllShards() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ALL_SHARDS, "%s != %s", _kind, RegistryMessageKind::ALL_SHARDS);
|
|
return std::get<20>(_data);
|
|
}
|
|
AllShardsResp& RegistryRespContainer::setAllShards() {
|
|
_kind = RegistryMessageKind::ALL_SHARDS;
|
|
auto& x = _data.emplace<20>();
|
|
return x;
|
|
}
|
|
const DecommissionBlockServiceResp& RegistryRespContainer::getDecommissionBlockService() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE, "%s != %s", _kind, RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE);
|
|
return std::get<21>(_data);
|
|
}
|
|
DecommissionBlockServiceResp& RegistryRespContainer::setDecommissionBlockService() {
|
|
_kind = RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE;
|
|
auto& x = _data.emplace<21>();
|
|
return x;
|
|
}
|
|
const MoveShardLeaderResp& RegistryRespContainer::getMoveShardLeader() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::MOVE_SHARD_LEADER, "%s != %s", _kind, RegistryMessageKind::MOVE_SHARD_LEADER);
|
|
return std::get<22>(_data);
|
|
}
|
|
MoveShardLeaderResp& RegistryRespContainer::setMoveShardLeader() {
|
|
_kind = RegistryMessageKind::MOVE_SHARD_LEADER;
|
|
auto& x = _data.emplace<22>();
|
|
return x;
|
|
}
|
|
const ClearShardInfoResp& RegistryRespContainer::getClearShardInfo() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CLEAR_SHARD_INFO, "%s != %s", _kind, RegistryMessageKind::CLEAR_SHARD_INFO);
|
|
return std::get<23>(_data);
|
|
}
|
|
ClearShardInfoResp& RegistryRespContainer::setClearShardInfo() {
|
|
_kind = RegistryMessageKind::CLEAR_SHARD_INFO;
|
|
auto& x = _data.emplace<23>();
|
|
return x;
|
|
}
|
|
const ShardBlockServicesResp& RegistryRespContainer::getShardBlockServices() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::SHARD_BLOCK_SERVICES, "%s != %s", _kind, RegistryMessageKind::SHARD_BLOCK_SERVICES);
|
|
return std::get<24>(_data);
|
|
}
|
|
ShardBlockServicesResp& RegistryRespContainer::setShardBlockServices() {
|
|
_kind = RegistryMessageKind::SHARD_BLOCK_SERVICES;
|
|
auto& x = _data.emplace<24>();
|
|
return x;
|
|
}
|
|
const AllCdcResp& RegistryRespContainer::getAllCdc() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ALL_CDC, "%s != %s", _kind, RegistryMessageKind::ALL_CDC);
|
|
return std::get<25>(_data);
|
|
}
|
|
AllCdcResp& RegistryRespContainer::setAllCdc() {
|
|
_kind = RegistryMessageKind::ALL_CDC;
|
|
auto& x = _data.emplace<25>();
|
|
return x;
|
|
}
|
|
const EraseDecommissionedBlockResp& RegistryRespContainer::getEraseDecommissionedBlock() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK, "%s != %s", _kind, RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK);
|
|
return std::get<26>(_data);
|
|
}
|
|
EraseDecommissionedBlockResp& RegistryRespContainer::setEraseDecommissionedBlock() {
|
|
_kind = RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK;
|
|
auto& x = _data.emplace<26>();
|
|
return x;
|
|
}
|
|
const AllBlockServicesDeprecatedResp& RegistryRespContainer::getAllBlockServicesDeprecated() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED, "%s != %s", _kind, RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED);
|
|
return std::get<27>(_data);
|
|
}
|
|
AllBlockServicesDeprecatedResp& RegistryRespContainer::setAllBlockServicesDeprecated() {
|
|
_kind = RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED;
|
|
auto& x = _data.emplace<27>();
|
|
return x;
|
|
}
|
|
const MoveCdcLeaderResp& RegistryRespContainer::getMoveCdcLeader() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::MOVE_CDC_LEADER, "%s != %s", _kind, RegistryMessageKind::MOVE_CDC_LEADER);
|
|
return std::get<28>(_data);
|
|
}
|
|
MoveCdcLeaderResp& RegistryRespContainer::setMoveCdcLeader() {
|
|
_kind = RegistryMessageKind::MOVE_CDC_LEADER;
|
|
auto& x = _data.emplace<28>();
|
|
return x;
|
|
}
|
|
const ClearCdcInfoResp& RegistryRespContainer::getClearCdcInfo() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::CLEAR_CDC_INFO, "%s != %s", _kind, RegistryMessageKind::CLEAR_CDC_INFO);
|
|
return std::get<29>(_data);
|
|
}
|
|
ClearCdcInfoResp& RegistryRespContainer::setClearCdcInfo() {
|
|
_kind = RegistryMessageKind::CLEAR_CDC_INFO;
|
|
auto& x = _data.emplace<29>();
|
|
return x;
|
|
}
|
|
const UpdateBlockServicePathResp& RegistryRespContainer::getUpdateBlockServicePath() const {
|
|
ALWAYS_ASSERT(_kind == RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH, "%s != %s", _kind, RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH);
|
|
return std::get<30>(_data);
|
|
}
|
|
UpdateBlockServicePathResp& RegistryRespContainer::setUpdateBlockServicePath() {
|
|
_kind = RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH;
|
|
auto& x = _data.emplace<30>();
|
|
return x;
|
|
}
|
|
RegistryRespContainer::RegistryRespContainer() {
|
|
clear();
|
|
}
|
|
|
|
RegistryRespContainer::RegistryRespContainer(const RegistryRespContainer& other) {
|
|
*this = other;
|
|
}
|
|
|
|
RegistryRespContainer::RegistryRespContainer(RegistryRespContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = RegistryMessageKind::EMPTY;
|
|
}
|
|
|
|
void RegistryRespContainer::operator=(const RegistryRespContainer& other) {
|
|
if (other.kind() == RegistryMessageKind::EMPTY) { clear(); return; }
|
|
switch (other.kind()) {
|
|
case RegistryMessageKind::ERROR:
|
|
setError() = other.getError();
|
|
break;
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
setLocalShards() = other.getLocalShards();
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
setLocalCdc() = other.getLocalCdc();
|
|
break;
|
|
case RegistryMessageKind::INFO:
|
|
setInfo() = other.getInfo();
|
|
break;
|
|
case RegistryMessageKind::REGISTRY:
|
|
setRegistry() = other.getRegistry();
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
setLocalChangedBlockServices() = other.getLocalChangedBlockServices();
|
|
break;
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
setCreateLocation() = other.getCreateLocation();
|
|
break;
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
setRenameLocation() = other.getRenameLocation();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
setRegisterShard() = other.getRegisterShard();
|
|
break;
|
|
case RegistryMessageKind::LOCATIONS:
|
|
setLocations() = other.getLocations();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
setRegisterCdc() = other.getRegisterCdc();
|
|
break;
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
setSetBlockServiceFlags() = other.getSetBlockServiceFlags();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
setRegisterBlockServices() = other.getRegisterBlockServices();
|
|
break;
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
setChangedBlockServicesAtLocation() = other.getChangedBlockServicesAtLocation();
|
|
break;
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
setShardsAtLocation() = other.getShardsAtLocation();
|
|
break;
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
setCdcAtLocation() = other.getCdcAtLocation();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
setRegisterRegistry() = other.getRegisterRegistry();
|
|
break;
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
setAllRegistryReplicas() = other.getAllRegistryReplicas();
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
setShardBlockServicesDEPRECATED() = other.getShardBlockServicesDEPRECATED();
|
|
break;
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
setCdcReplicasDEPRECATED() = other.getCdcReplicasDEPRECATED();
|
|
break;
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
setAllShards() = other.getAllShards();
|
|
break;
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
setDecommissionBlockService() = other.getDecommissionBlockService();
|
|
break;
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
setMoveShardLeader() = other.getMoveShardLeader();
|
|
break;
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
setClearShardInfo() = other.getClearShardInfo();
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
setShardBlockServices() = other.getShardBlockServices();
|
|
break;
|
|
case RegistryMessageKind::ALL_CDC:
|
|
setAllCdc() = other.getAllCdc();
|
|
break;
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
setEraseDecommissionedBlock() = other.getEraseDecommissionedBlock();
|
|
break;
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
setAllBlockServicesDeprecated() = other.getAllBlockServicesDeprecated();
|
|
break;
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
setMoveCdcLeader() = other.getMoveCdcLeader();
|
|
break;
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
setClearCdcInfo() = other.getClearCdcInfo();
|
|
break;
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
setUpdateBlockServicePath() = other.getUpdateBlockServicePath();
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad RegistryMessageKind kind %s", other.kind());
|
|
}
|
|
}
|
|
|
|
void RegistryRespContainer::operator=(RegistryRespContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = RegistryMessageKind::EMPTY;
|
|
}
|
|
|
|
size_t RegistryRespContainer::packedSize() const {
|
|
switch (_kind) {
|
|
case RegistryMessageKind::ERROR:
|
|
return sizeof(RegistryMessageKind) + sizeof(TernError);
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
return sizeof(RegistryMessageKind) + std::get<1>(_data).packedSize();
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
return sizeof(RegistryMessageKind) + std::get<2>(_data).packedSize();
|
|
case RegistryMessageKind::INFO:
|
|
return sizeof(RegistryMessageKind) + std::get<3>(_data).packedSize();
|
|
case RegistryMessageKind::REGISTRY:
|
|
return sizeof(RegistryMessageKind) + std::get<4>(_data).packedSize();
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
return sizeof(RegistryMessageKind) + std::get<5>(_data).packedSize();
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
return sizeof(RegistryMessageKind) + std::get<6>(_data).packedSize();
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
return sizeof(RegistryMessageKind) + std::get<7>(_data).packedSize();
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
return sizeof(RegistryMessageKind) + std::get<8>(_data).packedSize();
|
|
case RegistryMessageKind::LOCATIONS:
|
|
return sizeof(RegistryMessageKind) + std::get<9>(_data).packedSize();
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
return sizeof(RegistryMessageKind) + std::get<10>(_data).packedSize();
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
return sizeof(RegistryMessageKind) + std::get<11>(_data).packedSize();
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
return sizeof(RegistryMessageKind) + std::get<12>(_data).packedSize();
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
return sizeof(RegistryMessageKind) + std::get<13>(_data).packedSize();
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
return sizeof(RegistryMessageKind) + std::get<14>(_data).packedSize();
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
return sizeof(RegistryMessageKind) + std::get<15>(_data).packedSize();
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
return sizeof(RegistryMessageKind) + std::get<16>(_data).packedSize();
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
return sizeof(RegistryMessageKind) + std::get<17>(_data).packedSize();
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
return sizeof(RegistryMessageKind) + std::get<18>(_data).packedSize();
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
return sizeof(RegistryMessageKind) + std::get<19>(_data).packedSize();
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
return sizeof(RegistryMessageKind) + std::get<20>(_data).packedSize();
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
return sizeof(RegistryMessageKind) + std::get<21>(_data).packedSize();
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
return sizeof(RegistryMessageKind) + std::get<22>(_data).packedSize();
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
return sizeof(RegistryMessageKind) + std::get<23>(_data).packedSize();
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
return sizeof(RegistryMessageKind) + std::get<24>(_data).packedSize();
|
|
case RegistryMessageKind::ALL_CDC:
|
|
return sizeof(RegistryMessageKind) + std::get<25>(_data).packedSize();
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
return sizeof(RegistryMessageKind) + std::get<26>(_data).packedSize();
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
return sizeof(RegistryMessageKind) + std::get<27>(_data).packedSize();
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
return sizeof(RegistryMessageKind) + std::get<28>(_data).packedSize();
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
return sizeof(RegistryMessageKind) + std::get<29>(_data).packedSize();
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
return sizeof(RegistryMessageKind) + std::get<30>(_data).packedSize();
|
|
default:
|
|
throw TERN_EXCEPTION("bad RegistryMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void RegistryRespContainer::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<RegistryMessageKind>(_kind);
|
|
switch (_kind) {
|
|
case RegistryMessageKind::ERROR:
|
|
buf.packScalar<TernError>(std::get<0>(_data));
|
|
break;
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
std::get<1>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
std::get<2>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::INFO:
|
|
std::get<3>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTRY:
|
|
std::get<4>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
std::get<5>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
std::get<6>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
std::get<7>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
std::get<8>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCATIONS:
|
|
std::get<9>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
std::get<10>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
std::get<11>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
std::get<12>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
std::get<13>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
std::get<14>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
std::get<15>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
std::get<16>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
std::get<17>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
std::get<18>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
std::get<19>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
std::get<20>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
std::get<21>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
std::get<22>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
std::get<23>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
std::get<24>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_CDC:
|
|
std::get<25>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
std::get<26>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
std::get<27>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
std::get<28>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
std::get<29>(_data).pack(buf);
|
|
break;
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
std::get<30>(_data).pack(buf);
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad RegistryMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void RegistryRespContainer::unpack(BincodeBuf& buf) {
|
|
_kind = buf.unpackScalar<RegistryMessageKind>();
|
|
switch (_kind) {
|
|
case RegistryMessageKind::ERROR:
|
|
_data.emplace<0>(buf.unpackScalar<TernError>());
|
|
break;
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
_data.emplace<1>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
_data.emplace<2>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::INFO:
|
|
_data.emplace<3>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTRY:
|
|
_data.emplace<4>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
_data.emplace<5>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
_data.emplace<6>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
_data.emplace<7>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
_data.emplace<8>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::LOCATIONS:
|
|
_data.emplace<9>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
_data.emplace<10>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
_data.emplace<11>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
_data.emplace<12>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
_data.emplace<13>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
_data.emplace<14>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
_data.emplace<15>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
_data.emplace<16>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
_data.emplace<17>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
_data.emplace<18>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
_data.emplace<19>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
_data.emplace<20>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
_data.emplace<21>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
_data.emplace<22>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
_data.emplace<23>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
_data.emplace<24>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_CDC:
|
|
_data.emplace<25>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
_data.emplace<26>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
_data.emplace<27>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
_data.emplace<28>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
_data.emplace<29>().unpack(buf);
|
|
break;
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
_data.emplace<30>().unpack(buf);
|
|
break;
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad RegistryMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
bool RegistryRespContainer::operator==(const RegistryRespContainer& other) const {
|
|
if (_kind != other.kind()) { return false; }
|
|
if (_kind == RegistryMessageKind::EMPTY) { return true; }
|
|
switch (_kind) {
|
|
case RegistryMessageKind::ERROR:
|
|
return getError() == other.getError();
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
return getLocalShards() == other.getLocalShards();
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
return getLocalCdc() == other.getLocalCdc();
|
|
case RegistryMessageKind::INFO:
|
|
return getInfo() == other.getInfo();
|
|
case RegistryMessageKind::REGISTRY:
|
|
return getRegistry() == other.getRegistry();
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
return getLocalChangedBlockServices() == other.getLocalChangedBlockServices();
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
return getCreateLocation() == other.getCreateLocation();
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
return getRenameLocation() == other.getRenameLocation();
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
return getRegisterShard() == other.getRegisterShard();
|
|
case RegistryMessageKind::LOCATIONS:
|
|
return getLocations() == other.getLocations();
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
return getRegisterCdc() == other.getRegisterCdc();
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
return getSetBlockServiceFlags() == other.getSetBlockServiceFlags();
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
return getRegisterBlockServices() == other.getRegisterBlockServices();
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
return getChangedBlockServicesAtLocation() == other.getChangedBlockServicesAtLocation();
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
return getShardsAtLocation() == other.getShardsAtLocation();
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
return getCdcAtLocation() == other.getCdcAtLocation();
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
return getRegisterRegistry() == other.getRegisterRegistry();
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
return getAllRegistryReplicas() == other.getAllRegistryReplicas();
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
return getShardBlockServicesDEPRECATED() == other.getShardBlockServicesDEPRECATED();
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
return getCdcReplicasDEPRECATED() == other.getCdcReplicasDEPRECATED();
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
return getAllShards() == other.getAllShards();
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
return getDecommissionBlockService() == other.getDecommissionBlockService();
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
return getMoveShardLeader() == other.getMoveShardLeader();
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
return getClearShardInfo() == other.getClearShardInfo();
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
return getShardBlockServices() == other.getShardBlockServices();
|
|
case RegistryMessageKind::ALL_CDC:
|
|
return getAllCdc() == other.getAllCdc();
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
return getEraseDecommissionedBlock() == other.getEraseDecommissionedBlock();
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
return getAllBlockServicesDeprecated() == other.getAllBlockServicesDeprecated();
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
return getMoveCdcLeader() == other.getMoveCdcLeader();
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
return getClearCdcInfo() == other.getClearCdcInfo();
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
return getUpdateBlockServicePath() == other.getUpdateBlockServicePath();
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad RegistryMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, const RegistryRespContainer& x) {
|
|
switch (x.kind()) {
|
|
case RegistryMessageKind::ERROR:
|
|
out << x.getError();
|
|
break;
|
|
case RegistryMessageKind::LOCAL_SHARDS:
|
|
out << x.getLocalShards();
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CDC:
|
|
out << x.getLocalCdc();
|
|
break;
|
|
case RegistryMessageKind::INFO:
|
|
out << x.getInfo();
|
|
break;
|
|
case RegistryMessageKind::REGISTRY:
|
|
out << x.getRegistry();
|
|
break;
|
|
case RegistryMessageKind::LOCAL_CHANGED_BLOCK_SERVICES:
|
|
out << x.getLocalChangedBlockServices();
|
|
break;
|
|
case RegistryMessageKind::CREATE_LOCATION:
|
|
out << x.getCreateLocation();
|
|
break;
|
|
case RegistryMessageKind::RENAME_LOCATION:
|
|
out << x.getRenameLocation();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_SHARD:
|
|
out << x.getRegisterShard();
|
|
break;
|
|
case RegistryMessageKind::LOCATIONS:
|
|
out << x.getLocations();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_CDC:
|
|
out << x.getRegisterCdc();
|
|
break;
|
|
case RegistryMessageKind::SET_BLOCK_SERVICE_FLAGS:
|
|
out << x.getSetBlockServiceFlags();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_BLOCK_SERVICES:
|
|
out << x.getRegisterBlockServices();
|
|
break;
|
|
case RegistryMessageKind::CHANGED_BLOCK_SERVICES_AT_LOCATION:
|
|
out << x.getChangedBlockServicesAtLocation();
|
|
break;
|
|
case RegistryMessageKind::SHARDS_AT_LOCATION:
|
|
out << x.getShardsAtLocation();
|
|
break;
|
|
case RegistryMessageKind::CDC_AT_LOCATION:
|
|
out << x.getCdcAtLocation();
|
|
break;
|
|
case RegistryMessageKind::REGISTER_REGISTRY:
|
|
out << x.getRegisterRegistry();
|
|
break;
|
|
case RegistryMessageKind::ALL_REGISTRY_REPLICAS:
|
|
out << x.getAllRegistryReplicas();
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES_DE_PR_EC_AT_ED:
|
|
out << x.getShardBlockServicesDEPRECATED();
|
|
break;
|
|
case RegistryMessageKind::CDC_REPLICAS_DE_PR_EC_AT_ED:
|
|
out << x.getCdcReplicasDEPRECATED();
|
|
break;
|
|
case RegistryMessageKind::ALL_SHARDS:
|
|
out << x.getAllShards();
|
|
break;
|
|
case RegistryMessageKind::DECOMMISSION_BLOCK_SERVICE:
|
|
out << x.getDecommissionBlockService();
|
|
break;
|
|
case RegistryMessageKind::MOVE_SHARD_LEADER:
|
|
out << x.getMoveShardLeader();
|
|
break;
|
|
case RegistryMessageKind::CLEAR_SHARD_INFO:
|
|
out << x.getClearShardInfo();
|
|
break;
|
|
case RegistryMessageKind::SHARD_BLOCK_SERVICES:
|
|
out << x.getShardBlockServices();
|
|
break;
|
|
case RegistryMessageKind::ALL_CDC:
|
|
out << x.getAllCdc();
|
|
break;
|
|
case RegistryMessageKind::ERASE_DECOMMISSIONED_BLOCK:
|
|
out << x.getEraseDecommissionedBlock();
|
|
break;
|
|
case RegistryMessageKind::ALL_BLOCK_SERVICES_DEPRECATED:
|
|
out << x.getAllBlockServicesDeprecated();
|
|
break;
|
|
case RegistryMessageKind::MOVE_CDC_LEADER:
|
|
out << x.getMoveCdcLeader();
|
|
break;
|
|
case RegistryMessageKind::CLEAR_CDC_INFO:
|
|
out << x.getClearCdcInfo();
|
|
break;
|
|
case RegistryMessageKind::UPDATE_BLOCK_SERVICE_PATH:
|
|
out << x.getUpdateBlockServicePath();
|
|
break;
|
|
case RegistryMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad RegistryMessageKind kind %s", x.kind());
|
|
}
|
|
return out;
|
|
}
|
|
|
|
const LogWriteReq& LogReqContainer::getLogWrite() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::LOG_WRITE, "%s != %s", _kind, LogMessageKind::LOG_WRITE);
|
|
return std::get<0>(_data);
|
|
}
|
|
LogWriteReq& LogReqContainer::setLogWrite() {
|
|
_kind = LogMessageKind::LOG_WRITE;
|
|
auto& x = _data.emplace<0>();
|
|
return x;
|
|
}
|
|
const ReleaseReq& LogReqContainer::getRelease() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::RELEASE, "%s != %s", _kind, LogMessageKind::RELEASE);
|
|
return std::get<1>(_data);
|
|
}
|
|
ReleaseReq& LogReqContainer::setRelease() {
|
|
_kind = LogMessageKind::RELEASE;
|
|
auto& x = _data.emplace<1>();
|
|
return x;
|
|
}
|
|
const LogReadReq& LogReqContainer::getLogRead() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::LOG_READ, "%s != %s", _kind, LogMessageKind::LOG_READ);
|
|
return std::get<2>(_data);
|
|
}
|
|
LogReadReq& LogReqContainer::setLogRead() {
|
|
_kind = LogMessageKind::LOG_READ;
|
|
auto& x = _data.emplace<2>();
|
|
return x;
|
|
}
|
|
const NewLeaderReq& LogReqContainer::getNewLeader() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::NEW_LEADER, "%s != %s", _kind, LogMessageKind::NEW_LEADER);
|
|
return std::get<3>(_data);
|
|
}
|
|
NewLeaderReq& LogReqContainer::setNewLeader() {
|
|
_kind = LogMessageKind::NEW_LEADER;
|
|
auto& x = _data.emplace<3>();
|
|
return x;
|
|
}
|
|
const NewLeaderConfirmReq& LogReqContainer::getNewLeaderConfirm() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::NEW_LEADER_CONFIRM, "%s != %s", _kind, LogMessageKind::NEW_LEADER_CONFIRM);
|
|
return std::get<4>(_data);
|
|
}
|
|
NewLeaderConfirmReq& LogReqContainer::setNewLeaderConfirm() {
|
|
_kind = LogMessageKind::NEW_LEADER_CONFIRM;
|
|
auto& x = _data.emplace<4>();
|
|
return x;
|
|
}
|
|
const LogRecoveryReadReq& LogReqContainer::getLogRecoveryRead() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::LOG_RECOVERY_READ, "%s != %s", _kind, LogMessageKind::LOG_RECOVERY_READ);
|
|
return std::get<5>(_data);
|
|
}
|
|
LogRecoveryReadReq& LogReqContainer::setLogRecoveryRead() {
|
|
_kind = LogMessageKind::LOG_RECOVERY_READ;
|
|
auto& x = _data.emplace<5>();
|
|
return x;
|
|
}
|
|
const LogRecoveryWriteReq& LogReqContainer::getLogRecoveryWrite() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::LOG_RECOVERY_WRITE, "%s != %s", _kind, LogMessageKind::LOG_RECOVERY_WRITE);
|
|
return std::get<6>(_data);
|
|
}
|
|
LogRecoveryWriteReq& LogReqContainer::setLogRecoveryWrite() {
|
|
_kind = LogMessageKind::LOG_RECOVERY_WRITE;
|
|
auto& x = _data.emplace<6>();
|
|
return x;
|
|
}
|
|
LogReqContainer::LogReqContainer() {
|
|
clear();
|
|
}
|
|
|
|
LogReqContainer::LogReqContainer(const LogReqContainer& other) {
|
|
*this = other;
|
|
}
|
|
|
|
LogReqContainer::LogReqContainer(LogReqContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = LogMessageKind::EMPTY;
|
|
}
|
|
|
|
void LogReqContainer::operator=(const LogReqContainer& other) {
|
|
if (other.kind() == LogMessageKind::EMPTY) { clear(); return; }
|
|
switch (other.kind()) {
|
|
case LogMessageKind::LOG_WRITE:
|
|
setLogWrite() = other.getLogWrite();
|
|
break;
|
|
case LogMessageKind::RELEASE:
|
|
setRelease() = other.getRelease();
|
|
break;
|
|
case LogMessageKind::LOG_READ:
|
|
setLogRead() = other.getLogRead();
|
|
break;
|
|
case LogMessageKind::NEW_LEADER:
|
|
setNewLeader() = other.getNewLeader();
|
|
break;
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
setNewLeaderConfirm() = other.getNewLeaderConfirm();
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
setLogRecoveryRead() = other.getLogRecoveryRead();
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
setLogRecoveryWrite() = other.getLogRecoveryWrite();
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad LogMessageKind kind %s", other.kind());
|
|
}
|
|
}
|
|
|
|
void LogReqContainer::operator=(LogReqContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = LogMessageKind::EMPTY;
|
|
}
|
|
|
|
size_t LogReqContainer::packedSize() const {
|
|
switch (_kind) {
|
|
case LogMessageKind::LOG_WRITE:
|
|
return sizeof(LogMessageKind) + std::get<0>(_data).packedSize();
|
|
case LogMessageKind::RELEASE:
|
|
return sizeof(LogMessageKind) + std::get<1>(_data).packedSize();
|
|
case LogMessageKind::LOG_READ:
|
|
return sizeof(LogMessageKind) + std::get<2>(_data).packedSize();
|
|
case LogMessageKind::NEW_LEADER:
|
|
return sizeof(LogMessageKind) + std::get<3>(_data).packedSize();
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
return sizeof(LogMessageKind) + std::get<4>(_data).packedSize();
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
return sizeof(LogMessageKind) + std::get<5>(_data).packedSize();
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
return sizeof(LogMessageKind) + std::get<6>(_data).packedSize();
|
|
default:
|
|
throw TERN_EXCEPTION("bad LogMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void LogReqContainer::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<LogMessageKind>(_kind);
|
|
switch (_kind) {
|
|
case LogMessageKind::LOG_WRITE:
|
|
std::get<0>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::RELEASE:
|
|
std::get<1>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_READ:
|
|
std::get<2>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::NEW_LEADER:
|
|
std::get<3>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
std::get<4>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
std::get<5>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
std::get<6>(_data).pack(buf);
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad LogMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void LogReqContainer::unpack(BincodeBuf& buf) {
|
|
_kind = buf.unpackScalar<LogMessageKind>();
|
|
switch (_kind) {
|
|
case LogMessageKind::LOG_WRITE:
|
|
_data.emplace<0>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::RELEASE:
|
|
_data.emplace<1>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_READ:
|
|
_data.emplace<2>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::NEW_LEADER:
|
|
_data.emplace<3>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
_data.emplace<4>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
_data.emplace<5>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
_data.emplace<6>().unpack(buf);
|
|
break;
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad LogMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
bool LogReqContainer::operator==(const LogReqContainer& other) const {
|
|
if (_kind != other.kind()) { return false; }
|
|
if (_kind == LogMessageKind::EMPTY) { return true; }
|
|
switch (_kind) {
|
|
case LogMessageKind::LOG_WRITE:
|
|
return getLogWrite() == other.getLogWrite();
|
|
case LogMessageKind::RELEASE:
|
|
return getRelease() == other.getRelease();
|
|
case LogMessageKind::LOG_READ:
|
|
return getLogRead() == other.getLogRead();
|
|
case LogMessageKind::NEW_LEADER:
|
|
return getNewLeader() == other.getNewLeader();
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
return getNewLeaderConfirm() == other.getNewLeaderConfirm();
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
return getLogRecoveryRead() == other.getLogRecoveryRead();
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
return getLogRecoveryWrite() == other.getLogRecoveryWrite();
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad LogMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, const LogReqContainer& x) {
|
|
switch (x.kind()) {
|
|
case LogMessageKind::LOG_WRITE:
|
|
out << x.getLogWrite();
|
|
break;
|
|
case LogMessageKind::RELEASE:
|
|
out << x.getRelease();
|
|
break;
|
|
case LogMessageKind::LOG_READ:
|
|
out << x.getLogRead();
|
|
break;
|
|
case LogMessageKind::NEW_LEADER:
|
|
out << x.getNewLeader();
|
|
break;
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
out << x.getNewLeaderConfirm();
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
out << x.getLogRecoveryRead();
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
out << x.getLogRecoveryWrite();
|
|
break;
|
|
case LogMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad LogMessageKind kind %s", x.kind());
|
|
}
|
|
return out;
|
|
}
|
|
|
|
const TernError& LogRespContainer::getError() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::ERROR, "%s != %s", _kind, LogMessageKind::ERROR);
|
|
return std::get<0>(_data);
|
|
}
|
|
TernError& LogRespContainer::setError() {
|
|
_kind = LogMessageKind::ERROR;
|
|
auto& x = _data.emplace<0>();
|
|
return x;
|
|
}
|
|
const LogWriteResp& LogRespContainer::getLogWrite() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::LOG_WRITE, "%s != %s", _kind, LogMessageKind::LOG_WRITE);
|
|
return std::get<1>(_data);
|
|
}
|
|
LogWriteResp& LogRespContainer::setLogWrite() {
|
|
_kind = LogMessageKind::LOG_WRITE;
|
|
auto& x = _data.emplace<1>();
|
|
return x;
|
|
}
|
|
const ReleaseResp& LogRespContainer::getRelease() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::RELEASE, "%s != %s", _kind, LogMessageKind::RELEASE);
|
|
return std::get<2>(_data);
|
|
}
|
|
ReleaseResp& LogRespContainer::setRelease() {
|
|
_kind = LogMessageKind::RELEASE;
|
|
auto& x = _data.emplace<2>();
|
|
return x;
|
|
}
|
|
const LogReadResp& LogRespContainer::getLogRead() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::LOG_READ, "%s != %s", _kind, LogMessageKind::LOG_READ);
|
|
return std::get<3>(_data);
|
|
}
|
|
LogReadResp& LogRespContainer::setLogRead() {
|
|
_kind = LogMessageKind::LOG_READ;
|
|
auto& x = _data.emplace<3>();
|
|
return x;
|
|
}
|
|
const NewLeaderResp& LogRespContainer::getNewLeader() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::NEW_LEADER, "%s != %s", _kind, LogMessageKind::NEW_LEADER);
|
|
return std::get<4>(_data);
|
|
}
|
|
NewLeaderResp& LogRespContainer::setNewLeader() {
|
|
_kind = LogMessageKind::NEW_LEADER;
|
|
auto& x = _data.emplace<4>();
|
|
return x;
|
|
}
|
|
const NewLeaderConfirmResp& LogRespContainer::getNewLeaderConfirm() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::NEW_LEADER_CONFIRM, "%s != %s", _kind, LogMessageKind::NEW_LEADER_CONFIRM);
|
|
return std::get<5>(_data);
|
|
}
|
|
NewLeaderConfirmResp& LogRespContainer::setNewLeaderConfirm() {
|
|
_kind = LogMessageKind::NEW_LEADER_CONFIRM;
|
|
auto& x = _data.emplace<5>();
|
|
return x;
|
|
}
|
|
const LogRecoveryReadResp& LogRespContainer::getLogRecoveryRead() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::LOG_RECOVERY_READ, "%s != %s", _kind, LogMessageKind::LOG_RECOVERY_READ);
|
|
return std::get<6>(_data);
|
|
}
|
|
LogRecoveryReadResp& LogRespContainer::setLogRecoveryRead() {
|
|
_kind = LogMessageKind::LOG_RECOVERY_READ;
|
|
auto& x = _data.emplace<6>();
|
|
return x;
|
|
}
|
|
const LogRecoveryWriteResp& LogRespContainer::getLogRecoveryWrite() const {
|
|
ALWAYS_ASSERT(_kind == LogMessageKind::LOG_RECOVERY_WRITE, "%s != %s", _kind, LogMessageKind::LOG_RECOVERY_WRITE);
|
|
return std::get<7>(_data);
|
|
}
|
|
LogRecoveryWriteResp& LogRespContainer::setLogRecoveryWrite() {
|
|
_kind = LogMessageKind::LOG_RECOVERY_WRITE;
|
|
auto& x = _data.emplace<7>();
|
|
return x;
|
|
}
|
|
LogRespContainer::LogRespContainer() {
|
|
clear();
|
|
}
|
|
|
|
LogRespContainer::LogRespContainer(const LogRespContainer& other) {
|
|
*this = other;
|
|
}
|
|
|
|
LogRespContainer::LogRespContainer(LogRespContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = LogMessageKind::EMPTY;
|
|
}
|
|
|
|
void LogRespContainer::operator=(const LogRespContainer& other) {
|
|
if (other.kind() == LogMessageKind::EMPTY) { clear(); return; }
|
|
switch (other.kind()) {
|
|
case LogMessageKind::ERROR:
|
|
setError() = other.getError();
|
|
break;
|
|
case LogMessageKind::LOG_WRITE:
|
|
setLogWrite() = other.getLogWrite();
|
|
break;
|
|
case LogMessageKind::RELEASE:
|
|
setRelease() = other.getRelease();
|
|
break;
|
|
case LogMessageKind::LOG_READ:
|
|
setLogRead() = other.getLogRead();
|
|
break;
|
|
case LogMessageKind::NEW_LEADER:
|
|
setNewLeader() = other.getNewLeader();
|
|
break;
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
setNewLeaderConfirm() = other.getNewLeaderConfirm();
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
setLogRecoveryRead() = other.getLogRecoveryRead();
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
setLogRecoveryWrite() = other.getLogRecoveryWrite();
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad LogMessageKind kind %s", other.kind());
|
|
}
|
|
}
|
|
|
|
void LogRespContainer::operator=(LogRespContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = LogMessageKind::EMPTY;
|
|
}
|
|
|
|
size_t LogRespContainer::packedSize() const {
|
|
switch (_kind) {
|
|
case LogMessageKind::ERROR:
|
|
return sizeof(LogMessageKind) + sizeof(TernError);
|
|
case LogMessageKind::LOG_WRITE:
|
|
return sizeof(LogMessageKind) + std::get<1>(_data).packedSize();
|
|
case LogMessageKind::RELEASE:
|
|
return sizeof(LogMessageKind) + std::get<2>(_data).packedSize();
|
|
case LogMessageKind::LOG_READ:
|
|
return sizeof(LogMessageKind) + std::get<3>(_data).packedSize();
|
|
case LogMessageKind::NEW_LEADER:
|
|
return sizeof(LogMessageKind) + std::get<4>(_data).packedSize();
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
return sizeof(LogMessageKind) + std::get<5>(_data).packedSize();
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
return sizeof(LogMessageKind) + std::get<6>(_data).packedSize();
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
return sizeof(LogMessageKind) + std::get<7>(_data).packedSize();
|
|
default:
|
|
throw TERN_EXCEPTION("bad LogMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void LogRespContainer::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<LogMessageKind>(_kind);
|
|
switch (_kind) {
|
|
case LogMessageKind::ERROR:
|
|
buf.packScalar<TernError>(std::get<0>(_data));
|
|
break;
|
|
case LogMessageKind::LOG_WRITE:
|
|
std::get<1>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::RELEASE:
|
|
std::get<2>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_READ:
|
|
std::get<3>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::NEW_LEADER:
|
|
std::get<4>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
std::get<5>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
std::get<6>(_data).pack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
std::get<7>(_data).pack(buf);
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad LogMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void LogRespContainer::unpack(BincodeBuf& buf) {
|
|
_kind = buf.unpackScalar<LogMessageKind>();
|
|
switch (_kind) {
|
|
case LogMessageKind::ERROR:
|
|
_data.emplace<0>(buf.unpackScalar<TernError>());
|
|
break;
|
|
case LogMessageKind::LOG_WRITE:
|
|
_data.emplace<1>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::RELEASE:
|
|
_data.emplace<2>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_READ:
|
|
_data.emplace<3>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::NEW_LEADER:
|
|
_data.emplace<4>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
_data.emplace<5>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
_data.emplace<6>().unpack(buf);
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
_data.emplace<7>().unpack(buf);
|
|
break;
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad LogMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
bool LogRespContainer::operator==(const LogRespContainer& other) const {
|
|
if (_kind != other.kind()) { return false; }
|
|
if (_kind == LogMessageKind::EMPTY) { return true; }
|
|
switch (_kind) {
|
|
case LogMessageKind::ERROR:
|
|
return getError() == other.getError();
|
|
case LogMessageKind::LOG_WRITE:
|
|
return getLogWrite() == other.getLogWrite();
|
|
case LogMessageKind::RELEASE:
|
|
return getRelease() == other.getRelease();
|
|
case LogMessageKind::LOG_READ:
|
|
return getLogRead() == other.getLogRead();
|
|
case LogMessageKind::NEW_LEADER:
|
|
return getNewLeader() == other.getNewLeader();
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
return getNewLeaderConfirm() == other.getNewLeaderConfirm();
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
return getLogRecoveryRead() == other.getLogRecoveryRead();
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
return getLogRecoveryWrite() == other.getLogRecoveryWrite();
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad LogMessageKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, const LogRespContainer& x) {
|
|
switch (x.kind()) {
|
|
case LogMessageKind::ERROR:
|
|
out << x.getError();
|
|
break;
|
|
case LogMessageKind::LOG_WRITE:
|
|
out << x.getLogWrite();
|
|
break;
|
|
case LogMessageKind::RELEASE:
|
|
out << x.getRelease();
|
|
break;
|
|
case LogMessageKind::LOG_READ:
|
|
out << x.getLogRead();
|
|
break;
|
|
case LogMessageKind::NEW_LEADER:
|
|
out << x.getNewLeader();
|
|
break;
|
|
case LogMessageKind::NEW_LEADER_CONFIRM:
|
|
out << x.getNewLeaderConfirm();
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_READ:
|
|
out << x.getLogRecoveryRead();
|
|
break;
|
|
case LogMessageKind::LOG_RECOVERY_WRITE:
|
|
out << x.getLogRecoveryWrite();
|
|
break;
|
|
case LogMessageKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad LogMessageKind kind %s", x.kind());
|
|
}
|
|
return out;
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, ShardLogEntryKind err) {
|
|
switch (err) {
|
|
case ShardLogEntryKind::CONSTRUCT_FILE:
|
|
out << "CONSTRUCT_FILE";
|
|
break;
|
|
case ShardLogEntryKind::LINK_FILE:
|
|
out << "LINK_FILE";
|
|
break;
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME:
|
|
out << "SAME_DIRECTORY_RENAME";
|
|
break;
|
|
case ShardLogEntryKind::SOFT_UNLINK_FILE:
|
|
out << "SOFT_UNLINK_FILE";
|
|
break;
|
|
case ShardLogEntryKind::CREATE_DIRECTORY_INODE:
|
|
out << "CREATE_DIRECTORY_INODE";
|
|
break;
|
|
case ShardLogEntryKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
out << "CREATE_LOCKED_CURRENT_EDGE";
|
|
break;
|
|
case ShardLogEntryKind::UNLOCK_CURRENT_EDGE:
|
|
out << "UNLOCK_CURRENT_EDGE";
|
|
break;
|
|
case ShardLogEntryKind::LOCK_CURRENT_EDGE:
|
|
out << "LOCK_CURRENT_EDGE";
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_DIRECTORY_OWNER:
|
|
out << "REMOVE_DIRECTORY_OWNER";
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_INODE:
|
|
out << "REMOVE_INODE";
|
|
break;
|
|
case ShardLogEntryKind::SET_DIRECTORY_OWNER:
|
|
out << "SET_DIRECTORY_OWNER";
|
|
break;
|
|
case ShardLogEntryKind::SET_DIRECTORY_INFO:
|
|
out << "SET_DIRECTORY_INFO";
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_NON_OWNED_EDGE:
|
|
out << "REMOVE_NON_OWNED_EDGE";
|
|
break;
|
|
case ShardLogEntryKind::SCRAP_TRANSIENT_FILE:
|
|
out << "SCRAP_TRANSIENT_FILE";
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_SPAN_INITIATE:
|
|
out << "REMOVE_SPAN_INITIATE";
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_INITIATE:
|
|
out << "ADD_SPAN_INITIATE";
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_CERTIFY:
|
|
out << "ADD_SPAN_CERTIFY";
|
|
break;
|
|
case ShardLogEntryKind::ADD_INLINE_SPAN:
|
|
out << "ADD_INLINE_SPAN";
|
|
break;
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED:
|
|
out << "MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED";
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_SPAN_CERTIFY:
|
|
out << "REMOVE_SPAN_CERTIFY";
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
out << "REMOVE_OWNED_SNAPSHOT_FILE_EDGE";
|
|
break;
|
|
case ShardLogEntryKind::SWAP_BLOCKS:
|
|
out << "SWAP_BLOCKS";
|
|
break;
|
|
case ShardLogEntryKind::MOVE_SPAN:
|
|
out << "MOVE_SPAN";
|
|
break;
|
|
case ShardLogEntryKind::SET_TIME:
|
|
out << "SET_TIME";
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
out << "REMOVE_ZERO_BLOCK_SERVICE_FILES";
|
|
break;
|
|
case ShardLogEntryKind::SWAP_SPANS:
|
|
out << "SWAP_SPANS";
|
|
break;
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
out << "SAME_DIRECTORY_RENAME_SNAPSHOT";
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
out << "ADD_SPAN_AT_LOCATION_INITIATE";
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_LOCATION:
|
|
out << "ADD_SPAN_LOCATION";
|
|
break;
|
|
case ShardLogEntryKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
out << "SAME_SHARD_HARD_FILE_UNLINK";
|
|
break;
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT:
|
|
out << "MAKE_FILE_TRANSIENT";
|
|
break;
|
|
case ShardLogEntryKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
out << "ShardLogEntryKind(" << ((int)err) << ")";
|
|
break;
|
|
}
|
|
return out;
|
|
}
|
|
|
|
void ConstructFileEntry::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(type);
|
|
deadlineTime.pack(buf);
|
|
buf.packBytes(note);
|
|
}
|
|
void ConstructFileEntry::unpack(BincodeBuf& buf) {
|
|
type = buf.unpackScalar<uint8_t>();
|
|
deadlineTime.unpack(buf);
|
|
buf.unpackBytes(note);
|
|
}
|
|
void ConstructFileEntry::clear() {
|
|
type = uint8_t(0);
|
|
deadlineTime = TernTime();
|
|
note.clear();
|
|
}
|
|
bool ConstructFileEntry::operator==(const ConstructFileEntry& rhs) const {
|
|
if ((uint8_t)this->type != (uint8_t)rhs.type) { return false; };
|
|
if ((TernTime)this->deadlineTime != (TernTime)rhs.deadlineTime) { return false; };
|
|
if (note != rhs.note) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ConstructFileEntry& x) {
|
|
out << "ConstructFileEntry(" << "Type=" << (int)x.type << ", " << "DeadlineTime=" << x.deadlineTime << ", " << "Note=" << GoLangQuotedStringFmt(x.note.data(), x.note.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void LinkFileEntry::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
ownerId.pack(buf);
|
|
buf.packBytes(name);
|
|
}
|
|
void LinkFileEntry::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
ownerId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
}
|
|
void LinkFileEntry::clear() {
|
|
fileId = InodeId();
|
|
ownerId = InodeId();
|
|
name.clear();
|
|
}
|
|
bool LinkFileEntry::operator==(const LinkFileEntry& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LinkFileEntry& x) {
|
|
out << "LinkFileEntry(" << "FileId=" << x.fileId << ", " << "OwnerId=" << x.ownerId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void SameDirectoryRenameEntry::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packBytes(oldName);
|
|
oldCreationTime.pack(buf);
|
|
buf.packBytes(newName);
|
|
}
|
|
void SameDirectoryRenameEntry::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
buf.unpackBytes(oldName);
|
|
oldCreationTime.unpack(buf);
|
|
buf.unpackBytes(newName);
|
|
}
|
|
void SameDirectoryRenameEntry::clear() {
|
|
dirId = InodeId();
|
|
targetId = InodeId();
|
|
oldName.clear();
|
|
oldCreationTime = TernTime();
|
|
newName.clear();
|
|
}
|
|
bool SameDirectoryRenameEntry::operator==(const SameDirectoryRenameEntry& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if (oldName != rhs.oldName) { return false; };
|
|
if ((TernTime)this->oldCreationTime != (TernTime)rhs.oldCreationTime) { return false; };
|
|
if (newName != rhs.newName) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SameDirectoryRenameEntry& x) {
|
|
out << "SameDirectoryRenameEntry(" << "DirId=" << x.dirId << ", " << "TargetId=" << x.targetId << ", " << "OldName=" << GoLangQuotedStringFmt(x.oldName.data(), x.oldName.size()) << ", " << "OldCreationTime=" << x.oldCreationTime << ", " << "NewName=" << GoLangQuotedStringFmt(x.newName.data(), x.newName.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void SoftUnlinkFileEntry::pack(BincodeBuf& buf) const {
|
|
ownerId.pack(buf);
|
|
fileId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
}
|
|
void SoftUnlinkFileEntry::unpack(BincodeBuf& buf) {
|
|
ownerId.unpack(buf);
|
|
fileId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void SoftUnlinkFileEntry::clear() {
|
|
ownerId = InodeId();
|
|
fileId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
}
|
|
bool SoftUnlinkFileEntry::operator==(const SoftUnlinkFileEntry& rhs) const {
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SoftUnlinkFileEntry& x) {
|
|
out << "SoftUnlinkFileEntry(" << "OwnerId=" << x.ownerId << ", " << "FileId=" << x.fileId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void CreateDirectoryInodeEntry::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
ownerId.pack(buf);
|
|
info.pack(buf);
|
|
}
|
|
void CreateDirectoryInodeEntry::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
ownerId.unpack(buf);
|
|
info.unpack(buf);
|
|
}
|
|
void CreateDirectoryInodeEntry::clear() {
|
|
id = InodeId();
|
|
ownerId = InodeId();
|
|
info.clear();
|
|
}
|
|
bool CreateDirectoryInodeEntry::operator==(const CreateDirectoryInodeEntry& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if (info != rhs.info) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CreateDirectoryInodeEntry& x) {
|
|
out << "CreateDirectoryInodeEntry(" << "Id=" << x.id << ", " << "OwnerId=" << x.ownerId << ", " << "Info=" << x.info << ")";
|
|
return out;
|
|
}
|
|
|
|
void CreateLockedCurrentEdgeEntry::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
buf.packBytes(name);
|
|
targetId.pack(buf);
|
|
oldCreationTime.pack(buf);
|
|
}
|
|
void CreateLockedCurrentEdgeEntry::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
targetId.unpack(buf);
|
|
oldCreationTime.unpack(buf);
|
|
}
|
|
void CreateLockedCurrentEdgeEntry::clear() {
|
|
dirId = InodeId();
|
|
name.clear();
|
|
targetId = InodeId();
|
|
oldCreationTime = TernTime();
|
|
}
|
|
bool CreateLockedCurrentEdgeEntry::operator==(const CreateLockedCurrentEdgeEntry& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((TernTime)this->oldCreationTime != (TernTime)rhs.oldCreationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const CreateLockedCurrentEdgeEntry& x) {
|
|
out << "CreateLockedCurrentEdgeEntry(" << "DirId=" << x.dirId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "TargetId=" << x.targetId << ", " << "OldCreationTime=" << x.oldCreationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void UnlockCurrentEdgeEntry::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packScalar<bool>(wasMoved);
|
|
}
|
|
void UnlockCurrentEdgeEntry::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
targetId.unpack(buf);
|
|
wasMoved = buf.unpackScalar<bool>();
|
|
}
|
|
void UnlockCurrentEdgeEntry::clear() {
|
|
dirId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
targetId = InodeId();
|
|
wasMoved = bool(0);
|
|
}
|
|
bool UnlockCurrentEdgeEntry::operator==(const UnlockCurrentEdgeEntry& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if ((bool)this->wasMoved != (bool)rhs.wasMoved) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const UnlockCurrentEdgeEntry& x) {
|
|
out << "UnlockCurrentEdgeEntry(" << "DirId=" << x.dirId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ", " << "TargetId=" << x.targetId << ", " << "WasMoved=" << x.wasMoved << ")";
|
|
return out;
|
|
}
|
|
|
|
void LockCurrentEdgeEntry::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
targetId.pack(buf);
|
|
}
|
|
void LockCurrentEdgeEntry::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
targetId.unpack(buf);
|
|
}
|
|
void LockCurrentEdgeEntry::clear() {
|
|
dirId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
targetId = InodeId();
|
|
}
|
|
bool LockCurrentEdgeEntry::operator==(const LockCurrentEdgeEntry& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const LockCurrentEdgeEntry& x) {
|
|
out << "LockCurrentEdgeEntry(" << "DirId=" << x.dirId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ", " << "TargetId=" << x.targetId << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveDirectoryOwnerEntry::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
info.pack(buf);
|
|
}
|
|
void RemoveDirectoryOwnerEntry::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
info.unpack(buf);
|
|
}
|
|
void RemoveDirectoryOwnerEntry::clear() {
|
|
dirId = InodeId();
|
|
info.clear();
|
|
}
|
|
bool RemoveDirectoryOwnerEntry::operator==(const RemoveDirectoryOwnerEntry& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (info != rhs.info) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveDirectoryOwnerEntry& x) {
|
|
out << "RemoveDirectoryOwnerEntry(" << "DirId=" << x.dirId << ", " << "Info=" << x.info << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveInodeEntry::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
}
|
|
void RemoveInodeEntry::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
}
|
|
void RemoveInodeEntry::clear() {
|
|
id = InodeId();
|
|
}
|
|
bool RemoveInodeEntry::operator==(const RemoveInodeEntry& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveInodeEntry& x) {
|
|
out << "RemoveInodeEntry(" << "Id=" << x.id << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetDirectoryOwnerEntry::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
ownerId.pack(buf);
|
|
}
|
|
void SetDirectoryOwnerEntry::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
ownerId.unpack(buf);
|
|
}
|
|
void SetDirectoryOwnerEntry::clear() {
|
|
dirId = InodeId();
|
|
ownerId = InodeId();
|
|
}
|
|
bool SetDirectoryOwnerEntry::operator==(const SetDirectoryOwnerEntry& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetDirectoryOwnerEntry& x) {
|
|
out << "SetDirectoryOwnerEntry(" << "DirId=" << x.dirId << ", " << "OwnerId=" << x.ownerId << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetDirectoryInfoEntry::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
info.pack(buf);
|
|
}
|
|
void SetDirectoryInfoEntry::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
info.unpack(buf);
|
|
}
|
|
void SetDirectoryInfoEntry::clear() {
|
|
dirId = InodeId();
|
|
info.clear();
|
|
}
|
|
bool SetDirectoryInfoEntry::operator==(const SetDirectoryInfoEntry& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if (info != rhs.info) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetDirectoryInfoEntry& x) {
|
|
out << "SetDirectoryInfoEntry(" << "DirId=" << x.dirId << ", " << "Info=" << x.info << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveNonOwnedEdgeEntry::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
}
|
|
void RemoveNonOwnedEdgeEntry::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void RemoveNonOwnedEdgeEntry::clear() {
|
|
dirId = InodeId();
|
|
targetId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
}
|
|
bool RemoveNonOwnedEdgeEntry::operator==(const RemoveNonOwnedEdgeEntry& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveNonOwnedEdgeEntry& x) {
|
|
out << "RemoveNonOwnedEdgeEntry(" << "DirId=" << x.dirId << ", " << "TargetId=" << x.targetId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void ScrapTransientFileEntry::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
deadlineTime.pack(buf);
|
|
}
|
|
void ScrapTransientFileEntry::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
deadlineTime.unpack(buf);
|
|
}
|
|
void ScrapTransientFileEntry::clear() {
|
|
id = InodeId();
|
|
deadlineTime = TernTime();
|
|
}
|
|
bool ScrapTransientFileEntry::operator==(const ScrapTransientFileEntry& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if ((TernTime)this->deadlineTime != (TernTime)rhs.deadlineTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const ScrapTransientFileEntry& x) {
|
|
out << "ScrapTransientFileEntry(" << "Id=" << x.id << ", " << "DeadlineTime=" << x.deadlineTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveSpanInitiateEntry::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
}
|
|
void RemoveSpanInitiateEntry::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
}
|
|
void RemoveSpanInitiateEntry::clear() {
|
|
fileId = InodeId();
|
|
}
|
|
bool RemoveSpanInitiateEntry::operator==(const RemoveSpanInitiateEntry& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveSpanInitiateEntry& x) {
|
|
out << "RemoveSpanInitiateEntry(" << "FileId=" << x.fileId << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanInitiateEntry::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<bool>(withReference);
|
|
fileId.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packScalar<uint32_t>(size);
|
|
crc.pack(buf);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
parity.pack(buf);
|
|
buf.packScalar<uint8_t>(stripes);
|
|
buf.packScalar<uint32_t>(cellSize);
|
|
buf.packList<EntryNewBlockInfo>(bodyBlocks);
|
|
buf.packList<Crc>(bodyStripes);
|
|
}
|
|
void AddSpanInitiateEntry::unpack(BincodeBuf& buf) {
|
|
withReference = buf.unpackScalar<bool>();
|
|
fileId.unpack(buf);
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
size = buf.unpackScalar<uint32_t>();
|
|
crc.unpack(buf);
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
parity.unpack(buf);
|
|
stripes = buf.unpackScalar<uint8_t>();
|
|
cellSize = buf.unpackScalar<uint32_t>();
|
|
buf.unpackList<EntryNewBlockInfo>(bodyBlocks);
|
|
buf.unpackList<Crc>(bodyStripes);
|
|
}
|
|
void AddSpanInitiateEntry::clear() {
|
|
withReference = bool(0);
|
|
fileId = InodeId();
|
|
byteOffset = uint64_t(0);
|
|
size = uint32_t(0);
|
|
crc = Crc(0);
|
|
storageClass = uint8_t(0);
|
|
parity = Parity();
|
|
stripes = uint8_t(0);
|
|
cellSize = uint32_t(0);
|
|
bodyBlocks.clear();
|
|
bodyStripes.clear();
|
|
}
|
|
bool AddSpanInitiateEntry::operator==(const AddSpanInitiateEntry& rhs) const {
|
|
if ((bool)this->withReference != (bool)rhs.withReference) { return false; };
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if ((uint32_t)this->size != (uint32_t)rhs.size) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
if ((Parity)this->parity != (Parity)rhs.parity) { return false; };
|
|
if ((uint8_t)this->stripes != (uint8_t)rhs.stripes) { return false; };
|
|
if ((uint32_t)this->cellSize != (uint32_t)rhs.cellSize) { return false; };
|
|
if (bodyBlocks != rhs.bodyBlocks) { return false; };
|
|
if (bodyStripes != rhs.bodyStripes) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanInitiateEntry& x) {
|
|
out << "AddSpanInitiateEntry(" << "WithReference=" << x.withReference << ", " << "FileId=" << x.fileId << ", " << "ByteOffset=" << x.byteOffset << ", " << "Size=" << x.size << ", " << "Crc=" << x.crc << ", " << "StorageClass=" << (int)x.storageClass << ", " << "Parity=" << x.parity << ", " << "Stripes=" << (int)x.stripes << ", " << "CellSize=" << x.cellSize << ", " << "BodyBlocks=" << x.bodyBlocks << ", " << "BodyStripes=" << x.bodyStripes << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanCertifyEntry::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packList<BlockProof>(proofs);
|
|
}
|
|
void AddSpanCertifyEntry::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<BlockProof>(proofs);
|
|
}
|
|
void AddSpanCertifyEntry::clear() {
|
|
fileId = InodeId();
|
|
byteOffset = uint64_t(0);
|
|
proofs.clear();
|
|
}
|
|
bool AddSpanCertifyEntry::operator==(const AddSpanCertifyEntry& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if (proofs != rhs.proofs) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanCertifyEntry& x) {
|
|
out << "AddSpanCertifyEntry(" << "FileId=" << x.fileId << ", " << "ByteOffset=" << x.byteOffset << ", " << "Proofs=" << x.proofs << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddInlineSpanEntry::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packScalar<uint32_t>(size);
|
|
crc.pack(buf);
|
|
buf.packBytes(body);
|
|
}
|
|
void AddInlineSpanEntry::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
size = buf.unpackScalar<uint32_t>();
|
|
crc.unpack(buf);
|
|
buf.unpackBytes(body);
|
|
}
|
|
void AddInlineSpanEntry::clear() {
|
|
fileId = InodeId();
|
|
storageClass = uint8_t(0);
|
|
byteOffset = uint64_t(0);
|
|
size = uint32_t(0);
|
|
crc = Crc(0);
|
|
body.clear();
|
|
}
|
|
bool AddInlineSpanEntry::operator==(const AddInlineSpanEntry& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if ((uint32_t)this->size != (uint32_t)rhs.size) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
if (body != rhs.body) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddInlineSpanEntry& x) {
|
|
out << "AddInlineSpanEntry(" << "FileId=" << x.fileId << ", " << "StorageClass=" << (int)x.storageClass << ", " << "ByteOffset=" << x.byteOffset << ", " << "Size=" << x.size << ", " << "Crc=" << x.crc << ", " << "Body=" << x.body << ")";
|
|
return out;
|
|
}
|
|
|
|
void MakeFileTransientDEPRECATEDEntry::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packBytes(note);
|
|
}
|
|
void MakeFileTransientDEPRECATEDEntry::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
buf.unpackBytes(note);
|
|
}
|
|
void MakeFileTransientDEPRECATEDEntry::clear() {
|
|
id = InodeId();
|
|
note.clear();
|
|
}
|
|
bool MakeFileTransientDEPRECATEDEntry::operator==(const MakeFileTransientDEPRECATEDEntry& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if (note != rhs.note) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MakeFileTransientDEPRECATEDEntry& x) {
|
|
out << "MakeFileTransientDEPRECATEDEntry(" << "Id=" << x.id << ", " << "Note=" << GoLangQuotedStringFmt(x.note.data(), x.note.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveSpanCertifyEntry::pack(BincodeBuf& buf) const {
|
|
fileId.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packList<BlockProof>(proofs);
|
|
}
|
|
void RemoveSpanCertifyEntry::unpack(BincodeBuf& buf) {
|
|
fileId.unpack(buf);
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<BlockProof>(proofs);
|
|
}
|
|
void RemoveSpanCertifyEntry::clear() {
|
|
fileId = InodeId();
|
|
byteOffset = uint64_t(0);
|
|
proofs.clear();
|
|
}
|
|
bool RemoveSpanCertifyEntry::operator==(const RemoveSpanCertifyEntry& rhs) const {
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if (proofs != rhs.proofs) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveSpanCertifyEntry& x) {
|
|
out << "RemoveSpanCertifyEntry(" << "FileId=" << x.fileId << ", " << "ByteOffset=" << x.byteOffset << ", " << "Proofs=" << x.proofs << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveOwnedSnapshotFileEdgeEntry::pack(BincodeBuf& buf) const {
|
|
ownerId.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
}
|
|
void RemoveOwnedSnapshotFileEdgeEntry::unpack(BincodeBuf& buf) {
|
|
ownerId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
}
|
|
void RemoveOwnedSnapshotFileEdgeEntry::clear() {
|
|
ownerId = InodeId();
|
|
targetId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
}
|
|
bool RemoveOwnedSnapshotFileEdgeEntry::operator==(const RemoveOwnedSnapshotFileEdgeEntry& rhs) const {
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveOwnedSnapshotFileEdgeEntry& x) {
|
|
out << "RemoveOwnedSnapshotFileEdgeEntry(" << "OwnerId=" << x.ownerId << ", " << "TargetId=" << x.targetId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void SwapBlocksEntry::pack(BincodeBuf& buf) const {
|
|
fileId1.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset1);
|
|
buf.packScalar<uint64_t>(blockId1);
|
|
fileId2.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset2);
|
|
buf.packScalar<uint64_t>(blockId2);
|
|
}
|
|
void SwapBlocksEntry::unpack(BincodeBuf& buf) {
|
|
fileId1.unpack(buf);
|
|
byteOffset1 = buf.unpackScalar<uint64_t>();
|
|
blockId1 = buf.unpackScalar<uint64_t>();
|
|
fileId2.unpack(buf);
|
|
byteOffset2 = buf.unpackScalar<uint64_t>();
|
|
blockId2 = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void SwapBlocksEntry::clear() {
|
|
fileId1 = InodeId();
|
|
byteOffset1 = uint64_t(0);
|
|
blockId1 = uint64_t(0);
|
|
fileId2 = InodeId();
|
|
byteOffset2 = uint64_t(0);
|
|
blockId2 = uint64_t(0);
|
|
}
|
|
bool SwapBlocksEntry::operator==(const SwapBlocksEntry& rhs) const {
|
|
if ((InodeId)this->fileId1 != (InodeId)rhs.fileId1) { return false; };
|
|
if ((uint64_t)this->byteOffset1 != (uint64_t)rhs.byteOffset1) { return false; };
|
|
if ((uint64_t)this->blockId1 != (uint64_t)rhs.blockId1) { return false; };
|
|
if ((InodeId)this->fileId2 != (InodeId)rhs.fileId2) { return false; };
|
|
if ((uint64_t)this->byteOffset2 != (uint64_t)rhs.byteOffset2) { return false; };
|
|
if ((uint64_t)this->blockId2 != (uint64_t)rhs.blockId2) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SwapBlocksEntry& x) {
|
|
out << "SwapBlocksEntry(" << "FileId1=" << x.fileId1 << ", " << "ByteOffset1=" << x.byteOffset1 << ", " << "BlockId1=" << x.blockId1 << ", " << "FileId2=" << x.fileId2 << ", " << "ByteOffset2=" << x.byteOffset2 << ", " << "BlockId2=" << x.blockId2 << ")";
|
|
return out;
|
|
}
|
|
|
|
void MoveSpanEntry::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint32_t>(spanSize);
|
|
fileId1.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset1);
|
|
buf.packFixedBytes<8>(cookie1);
|
|
fileId2.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset2);
|
|
buf.packFixedBytes<8>(cookie2);
|
|
}
|
|
void MoveSpanEntry::unpack(BincodeBuf& buf) {
|
|
spanSize = buf.unpackScalar<uint32_t>();
|
|
fileId1.unpack(buf);
|
|
byteOffset1 = buf.unpackScalar<uint64_t>();
|
|
buf.unpackFixedBytes<8>(cookie1);
|
|
fileId2.unpack(buf);
|
|
byteOffset2 = buf.unpackScalar<uint64_t>();
|
|
buf.unpackFixedBytes<8>(cookie2);
|
|
}
|
|
void MoveSpanEntry::clear() {
|
|
spanSize = uint32_t(0);
|
|
fileId1 = InodeId();
|
|
byteOffset1 = uint64_t(0);
|
|
cookie1.clear();
|
|
fileId2 = InodeId();
|
|
byteOffset2 = uint64_t(0);
|
|
cookie2.clear();
|
|
}
|
|
bool MoveSpanEntry::operator==(const MoveSpanEntry& rhs) const {
|
|
if ((uint32_t)this->spanSize != (uint32_t)rhs.spanSize) { return false; };
|
|
if ((InodeId)this->fileId1 != (InodeId)rhs.fileId1) { return false; };
|
|
if ((uint64_t)this->byteOffset1 != (uint64_t)rhs.byteOffset1) { return false; };
|
|
if (cookie1 != rhs.cookie1) { return false; };
|
|
if ((InodeId)this->fileId2 != (InodeId)rhs.fileId2) { return false; };
|
|
if ((uint64_t)this->byteOffset2 != (uint64_t)rhs.byteOffset2) { return false; };
|
|
if (cookie2 != rhs.cookie2) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MoveSpanEntry& x) {
|
|
out << "MoveSpanEntry(" << "SpanSize=" << x.spanSize << ", " << "FileId1=" << x.fileId1 << ", " << "ByteOffset1=" << x.byteOffset1 << ", " << "Cookie1=" << x.cookie1 << ", " << "FileId2=" << x.fileId2 << ", " << "ByteOffset2=" << x.byteOffset2 << ", " << "Cookie2=" << x.cookie2 << ")";
|
|
return out;
|
|
}
|
|
|
|
void SetTimeEntry::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
buf.packScalar<uint64_t>(mtime);
|
|
buf.packScalar<uint64_t>(atime);
|
|
}
|
|
void SetTimeEntry::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
mtime = buf.unpackScalar<uint64_t>();
|
|
atime = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void SetTimeEntry::clear() {
|
|
id = InodeId();
|
|
mtime = uint64_t(0);
|
|
atime = uint64_t(0);
|
|
}
|
|
bool SetTimeEntry::operator==(const SetTimeEntry& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if ((uint64_t)this->mtime != (uint64_t)rhs.mtime) { return false; };
|
|
if ((uint64_t)this->atime != (uint64_t)rhs.atime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SetTimeEntry& x) {
|
|
out << "SetTimeEntry(" << "Id=" << x.id << ", " << "Mtime=" << x.mtime << ", " << "Atime=" << x.atime << ")";
|
|
return out;
|
|
}
|
|
|
|
void RemoveZeroBlockServiceFilesEntry::pack(BincodeBuf& buf) const {
|
|
startBlockService.pack(buf);
|
|
startFile.pack(buf);
|
|
}
|
|
void RemoveZeroBlockServiceFilesEntry::unpack(BincodeBuf& buf) {
|
|
startBlockService.unpack(buf);
|
|
startFile.unpack(buf);
|
|
}
|
|
void RemoveZeroBlockServiceFilesEntry::clear() {
|
|
startBlockService = BlockServiceId(0);
|
|
startFile = InodeId();
|
|
}
|
|
bool RemoveZeroBlockServiceFilesEntry::operator==(const RemoveZeroBlockServiceFilesEntry& rhs) const {
|
|
if ((BlockServiceId)this->startBlockService != (BlockServiceId)rhs.startBlockService) { return false; };
|
|
if ((InodeId)this->startFile != (InodeId)rhs.startFile) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const RemoveZeroBlockServiceFilesEntry& x) {
|
|
out << "RemoveZeroBlockServiceFilesEntry(" << "StartBlockService=" << x.startBlockService << ", " << "StartFile=" << x.startFile << ")";
|
|
return out;
|
|
}
|
|
|
|
void SwapSpansEntry::pack(BincodeBuf& buf) const {
|
|
fileId1.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset1);
|
|
buf.packList<uint64_t>(blocks1);
|
|
fileId2.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset2);
|
|
buf.packList<uint64_t>(blocks2);
|
|
}
|
|
void SwapSpansEntry::unpack(BincodeBuf& buf) {
|
|
fileId1.unpack(buf);
|
|
byteOffset1 = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<uint64_t>(blocks1);
|
|
fileId2.unpack(buf);
|
|
byteOffset2 = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<uint64_t>(blocks2);
|
|
}
|
|
void SwapSpansEntry::clear() {
|
|
fileId1 = InodeId();
|
|
byteOffset1 = uint64_t(0);
|
|
blocks1.clear();
|
|
fileId2 = InodeId();
|
|
byteOffset2 = uint64_t(0);
|
|
blocks2.clear();
|
|
}
|
|
bool SwapSpansEntry::operator==(const SwapSpansEntry& rhs) const {
|
|
if ((InodeId)this->fileId1 != (InodeId)rhs.fileId1) { return false; };
|
|
if ((uint64_t)this->byteOffset1 != (uint64_t)rhs.byteOffset1) { return false; };
|
|
if (blocks1 != rhs.blocks1) { return false; };
|
|
if ((InodeId)this->fileId2 != (InodeId)rhs.fileId2) { return false; };
|
|
if ((uint64_t)this->byteOffset2 != (uint64_t)rhs.byteOffset2) { return false; };
|
|
if (blocks2 != rhs.blocks2) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SwapSpansEntry& x) {
|
|
out << "SwapSpansEntry(" << "FileId1=" << x.fileId1 << ", " << "ByteOffset1=" << x.byteOffset1 << ", " << "Blocks1=" << x.blocks1 << ", " << "FileId2=" << x.fileId2 << ", " << "ByteOffset2=" << x.byteOffset2 << ", " << "Blocks2=" << x.blocks2 << ")";
|
|
return out;
|
|
}
|
|
|
|
void SameDirectoryRenameSnapshotEntry::pack(BincodeBuf& buf) const {
|
|
dirId.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packBytes(oldName);
|
|
oldCreationTime.pack(buf);
|
|
buf.packBytes(newName);
|
|
}
|
|
void SameDirectoryRenameSnapshotEntry::unpack(BincodeBuf& buf) {
|
|
dirId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
buf.unpackBytes(oldName);
|
|
oldCreationTime.unpack(buf);
|
|
buf.unpackBytes(newName);
|
|
}
|
|
void SameDirectoryRenameSnapshotEntry::clear() {
|
|
dirId = InodeId();
|
|
targetId = InodeId();
|
|
oldName.clear();
|
|
oldCreationTime = TernTime();
|
|
newName.clear();
|
|
}
|
|
bool SameDirectoryRenameSnapshotEntry::operator==(const SameDirectoryRenameSnapshotEntry& rhs) const {
|
|
if ((InodeId)this->dirId != (InodeId)rhs.dirId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if (oldName != rhs.oldName) { return false; };
|
|
if ((TernTime)this->oldCreationTime != (TernTime)rhs.oldCreationTime) { return false; };
|
|
if (newName != rhs.newName) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SameDirectoryRenameSnapshotEntry& x) {
|
|
out << "SameDirectoryRenameSnapshotEntry(" << "DirId=" << x.dirId << ", " << "TargetId=" << x.targetId << ", " << "OldName=" << GoLangQuotedStringFmt(x.oldName.data(), x.oldName.size()) << ", " << "OldCreationTime=" << x.oldCreationTime << ", " << "NewName=" << GoLangQuotedStringFmt(x.newName.data(), x.newName.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanAtLocationInitiateEntry::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<uint8_t>(locationId);
|
|
buf.packScalar<bool>(withReference);
|
|
fileId.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset);
|
|
buf.packScalar<uint32_t>(size);
|
|
crc.pack(buf);
|
|
buf.packScalar<uint8_t>(storageClass);
|
|
parity.pack(buf);
|
|
buf.packScalar<uint8_t>(stripes);
|
|
buf.packScalar<uint32_t>(cellSize);
|
|
buf.packList<EntryNewBlockInfo>(bodyBlocks);
|
|
buf.packList<Crc>(bodyStripes);
|
|
}
|
|
void AddSpanAtLocationInitiateEntry::unpack(BincodeBuf& buf) {
|
|
locationId = buf.unpackScalar<uint8_t>();
|
|
withReference = buf.unpackScalar<bool>();
|
|
fileId.unpack(buf);
|
|
byteOffset = buf.unpackScalar<uint64_t>();
|
|
size = buf.unpackScalar<uint32_t>();
|
|
crc.unpack(buf);
|
|
storageClass = buf.unpackScalar<uint8_t>();
|
|
parity.unpack(buf);
|
|
stripes = buf.unpackScalar<uint8_t>();
|
|
cellSize = buf.unpackScalar<uint32_t>();
|
|
buf.unpackList<EntryNewBlockInfo>(bodyBlocks);
|
|
buf.unpackList<Crc>(bodyStripes);
|
|
}
|
|
void AddSpanAtLocationInitiateEntry::clear() {
|
|
locationId = uint8_t(0);
|
|
withReference = bool(0);
|
|
fileId = InodeId();
|
|
byteOffset = uint64_t(0);
|
|
size = uint32_t(0);
|
|
crc = Crc(0);
|
|
storageClass = uint8_t(0);
|
|
parity = Parity();
|
|
stripes = uint8_t(0);
|
|
cellSize = uint32_t(0);
|
|
bodyBlocks.clear();
|
|
bodyStripes.clear();
|
|
}
|
|
bool AddSpanAtLocationInitiateEntry::operator==(const AddSpanAtLocationInitiateEntry& rhs) const {
|
|
if ((uint8_t)this->locationId != (uint8_t)rhs.locationId) { return false; };
|
|
if ((bool)this->withReference != (bool)rhs.withReference) { return false; };
|
|
if ((InodeId)this->fileId != (InodeId)rhs.fileId) { return false; };
|
|
if ((uint64_t)this->byteOffset != (uint64_t)rhs.byteOffset) { return false; };
|
|
if ((uint32_t)this->size != (uint32_t)rhs.size) { return false; };
|
|
if ((Crc)this->crc != (Crc)rhs.crc) { return false; };
|
|
if ((uint8_t)this->storageClass != (uint8_t)rhs.storageClass) { return false; };
|
|
if ((Parity)this->parity != (Parity)rhs.parity) { return false; };
|
|
if ((uint8_t)this->stripes != (uint8_t)rhs.stripes) { return false; };
|
|
if ((uint32_t)this->cellSize != (uint32_t)rhs.cellSize) { return false; };
|
|
if (bodyBlocks != rhs.bodyBlocks) { return false; };
|
|
if (bodyStripes != rhs.bodyStripes) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanAtLocationInitiateEntry& x) {
|
|
out << "AddSpanAtLocationInitiateEntry(" << "LocationId=" << (int)x.locationId << ", " << "WithReference=" << x.withReference << ", " << "FileId=" << x.fileId << ", " << "ByteOffset=" << x.byteOffset << ", " << "Size=" << x.size << ", " << "Crc=" << x.crc << ", " << "StorageClass=" << (int)x.storageClass << ", " << "Parity=" << x.parity << ", " << "Stripes=" << (int)x.stripes << ", " << "CellSize=" << x.cellSize << ", " << "BodyBlocks=" << x.bodyBlocks << ", " << "BodyStripes=" << x.bodyStripes << ")";
|
|
return out;
|
|
}
|
|
|
|
void AddSpanLocationEntry::pack(BincodeBuf& buf) const {
|
|
fileId1.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset1);
|
|
buf.packList<uint64_t>(blocks1);
|
|
fileId2.pack(buf);
|
|
buf.packScalar<uint64_t>(byteOffset2);
|
|
}
|
|
void AddSpanLocationEntry::unpack(BincodeBuf& buf) {
|
|
fileId1.unpack(buf);
|
|
byteOffset1 = buf.unpackScalar<uint64_t>();
|
|
buf.unpackList<uint64_t>(blocks1);
|
|
fileId2.unpack(buf);
|
|
byteOffset2 = buf.unpackScalar<uint64_t>();
|
|
}
|
|
void AddSpanLocationEntry::clear() {
|
|
fileId1 = InodeId();
|
|
byteOffset1 = uint64_t(0);
|
|
blocks1.clear();
|
|
fileId2 = InodeId();
|
|
byteOffset2 = uint64_t(0);
|
|
}
|
|
bool AddSpanLocationEntry::operator==(const AddSpanLocationEntry& rhs) const {
|
|
if ((InodeId)this->fileId1 != (InodeId)rhs.fileId1) { return false; };
|
|
if ((uint64_t)this->byteOffset1 != (uint64_t)rhs.byteOffset1) { return false; };
|
|
if (blocks1 != rhs.blocks1) { return false; };
|
|
if ((InodeId)this->fileId2 != (InodeId)rhs.fileId2) { return false; };
|
|
if ((uint64_t)this->byteOffset2 != (uint64_t)rhs.byteOffset2) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const AddSpanLocationEntry& x) {
|
|
out << "AddSpanLocationEntry(" << "FileId1=" << x.fileId1 << ", " << "ByteOffset1=" << x.byteOffset1 << ", " << "Blocks1=" << x.blocks1 << ", " << "FileId2=" << x.fileId2 << ", " << "ByteOffset2=" << x.byteOffset2 << ")";
|
|
return out;
|
|
}
|
|
|
|
void SameShardHardFileUnlinkEntry::pack(BincodeBuf& buf) const {
|
|
ownerId.pack(buf);
|
|
targetId.pack(buf);
|
|
buf.packBytes(name);
|
|
creationTime.pack(buf);
|
|
deadlineTime.pack(buf);
|
|
}
|
|
void SameShardHardFileUnlinkEntry::unpack(BincodeBuf& buf) {
|
|
ownerId.unpack(buf);
|
|
targetId.unpack(buf);
|
|
buf.unpackBytes(name);
|
|
creationTime.unpack(buf);
|
|
deadlineTime.unpack(buf);
|
|
}
|
|
void SameShardHardFileUnlinkEntry::clear() {
|
|
ownerId = InodeId();
|
|
targetId = InodeId();
|
|
name.clear();
|
|
creationTime = TernTime();
|
|
deadlineTime = TernTime();
|
|
}
|
|
bool SameShardHardFileUnlinkEntry::operator==(const SameShardHardFileUnlinkEntry& rhs) const {
|
|
if ((InodeId)this->ownerId != (InodeId)rhs.ownerId) { return false; };
|
|
if ((InodeId)this->targetId != (InodeId)rhs.targetId) { return false; };
|
|
if (name != rhs.name) { return false; };
|
|
if ((TernTime)this->creationTime != (TernTime)rhs.creationTime) { return false; };
|
|
if ((TernTime)this->deadlineTime != (TernTime)rhs.deadlineTime) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const SameShardHardFileUnlinkEntry& x) {
|
|
out << "SameShardHardFileUnlinkEntry(" << "OwnerId=" << x.ownerId << ", " << "TargetId=" << x.targetId << ", " << "Name=" << GoLangQuotedStringFmt(x.name.data(), x.name.size()) << ", " << "CreationTime=" << x.creationTime << ", " << "DeadlineTime=" << x.deadlineTime << ")";
|
|
return out;
|
|
}
|
|
|
|
void MakeFileTransientEntry::pack(BincodeBuf& buf) const {
|
|
id.pack(buf);
|
|
deadlineTime.pack(buf);
|
|
buf.packBytes(note);
|
|
}
|
|
void MakeFileTransientEntry::unpack(BincodeBuf& buf) {
|
|
id.unpack(buf);
|
|
deadlineTime.unpack(buf);
|
|
buf.unpackBytes(note);
|
|
}
|
|
void MakeFileTransientEntry::clear() {
|
|
id = InodeId();
|
|
deadlineTime = TernTime();
|
|
note.clear();
|
|
}
|
|
bool MakeFileTransientEntry::operator==(const MakeFileTransientEntry& rhs) const {
|
|
if ((InodeId)this->id != (InodeId)rhs.id) { return false; };
|
|
if ((TernTime)this->deadlineTime != (TernTime)rhs.deadlineTime) { return false; };
|
|
if (note != rhs.note) { return false; };
|
|
return true;
|
|
}
|
|
std::ostream& operator<<(std::ostream& out, const MakeFileTransientEntry& x) {
|
|
out << "MakeFileTransientEntry(" << "Id=" << x.id << ", " << "DeadlineTime=" << x.deadlineTime << ", " << "Note=" << GoLangQuotedStringFmt(x.note.data(), x.note.size()) << ")";
|
|
return out;
|
|
}
|
|
|
|
const ConstructFileEntry& ShardLogEntryContainer::getConstructFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::CONSTRUCT_FILE, "%s != %s", _kind, ShardLogEntryKind::CONSTRUCT_FILE);
|
|
return std::get<0>(_data);
|
|
}
|
|
ConstructFileEntry& ShardLogEntryContainer::setConstructFile() {
|
|
_kind = ShardLogEntryKind::CONSTRUCT_FILE;
|
|
auto& x = _data.emplace<0>();
|
|
return x;
|
|
}
|
|
const LinkFileEntry& ShardLogEntryContainer::getLinkFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::LINK_FILE, "%s != %s", _kind, ShardLogEntryKind::LINK_FILE);
|
|
return std::get<1>(_data);
|
|
}
|
|
LinkFileEntry& ShardLogEntryContainer::setLinkFile() {
|
|
_kind = ShardLogEntryKind::LINK_FILE;
|
|
auto& x = _data.emplace<1>();
|
|
return x;
|
|
}
|
|
const SameDirectoryRenameEntry& ShardLogEntryContainer::getSameDirectoryRename() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::SAME_DIRECTORY_RENAME, "%s != %s", _kind, ShardLogEntryKind::SAME_DIRECTORY_RENAME);
|
|
return std::get<2>(_data);
|
|
}
|
|
SameDirectoryRenameEntry& ShardLogEntryContainer::setSameDirectoryRename() {
|
|
_kind = ShardLogEntryKind::SAME_DIRECTORY_RENAME;
|
|
auto& x = _data.emplace<2>();
|
|
return x;
|
|
}
|
|
const SoftUnlinkFileEntry& ShardLogEntryContainer::getSoftUnlinkFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::SOFT_UNLINK_FILE, "%s != %s", _kind, ShardLogEntryKind::SOFT_UNLINK_FILE);
|
|
return std::get<3>(_data);
|
|
}
|
|
SoftUnlinkFileEntry& ShardLogEntryContainer::setSoftUnlinkFile() {
|
|
_kind = ShardLogEntryKind::SOFT_UNLINK_FILE;
|
|
auto& x = _data.emplace<3>();
|
|
return x;
|
|
}
|
|
const CreateDirectoryInodeEntry& ShardLogEntryContainer::getCreateDirectoryInode() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::CREATE_DIRECTORY_INODE, "%s != %s", _kind, ShardLogEntryKind::CREATE_DIRECTORY_INODE);
|
|
return std::get<4>(_data);
|
|
}
|
|
CreateDirectoryInodeEntry& ShardLogEntryContainer::setCreateDirectoryInode() {
|
|
_kind = ShardLogEntryKind::CREATE_DIRECTORY_INODE;
|
|
auto& x = _data.emplace<4>();
|
|
return x;
|
|
}
|
|
const CreateLockedCurrentEdgeEntry& ShardLogEntryContainer::getCreateLockedCurrentEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::CREATE_LOCKED_CURRENT_EDGE, "%s != %s", _kind, ShardLogEntryKind::CREATE_LOCKED_CURRENT_EDGE);
|
|
return std::get<5>(_data);
|
|
}
|
|
CreateLockedCurrentEdgeEntry& ShardLogEntryContainer::setCreateLockedCurrentEdge() {
|
|
_kind = ShardLogEntryKind::CREATE_LOCKED_CURRENT_EDGE;
|
|
auto& x = _data.emplace<5>();
|
|
return x;
|
|
}
|
|
const UnlockCurrentEdgeEntry& ShardLogEntryContainer::getUnlockCurrentEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::UNLOCK_CURRENT_EDGE, "%s != %s", _kind, ShardLogEntryKind::UNLOCK_CURRENT_EDGE);
|
|
return std::get<6>(_data);
|
|
}
|
|
UnlockCurrentEdgeEntry& ShardLogEntryContainer::setUnlockCurrentEdge() {
|
|
_kind = ShardLogEntryKind::UNLOCK_CURRENT_EDGE;
|
|
auto& x = _data.emplace<6>();
|
|
return x;
|
|
}
|
|
const LockCurrentEdgeEntry& ShardLogEntryContainer::getLockCurrentEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::LOCK_CURRENT_EDGE, "%s != %s", _kind, ShardLogEntryKind::LOCK_CURRENT_EDGE);
|
|
return std::get<7>(_data);
|
|
}
|
|
LockCurrentEdgeEntry& ShardLogEntryContainer::setLockCurrentEdge() {
|
|
_kind = ShardLogEntryKind::LOCK_CURRENT_EDGE;
|
|
auto& x = _data.emplace<7>();
|
|
return x;
|
|
}
|
|
const RemoveDirectoryOwnerEntry& ShardLogEntryContainer::getRemoveDirectoryOwner() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::REMOVE_DIRECTORY_OWNER, "%s != %s", _kind, ShardLogEntryKind::REMOVE_DIRECTORY_OWNER);
|
|
return std::get<8>(_data);
|
|
}
|
|
RemoveDirectoryOwnerEntry& ShardLogEntryContainer::setRemoveDirectoryOwner() {
|
|
_kind = ShardLogEntryKind::REMOVE_DIRECTORY_OWNER;
|
|
auto& x = _data.emplace<8>();
|
|
return x;
|
|
}
|
|
const RemoveInodeEntry& ShardLogEntryContainer::getRemoveInode() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::REMOVE_INODE, "%s != %s", _kind, ShardLogEntryKind::REMOVE_INODE);
|
|
return std::get<9>(_data);
|
|
}
|
|
RemoveInodeEntry& ShardLogEntryContainer::setRemoveInode() {
|
|
_kind = ShardLogEntryKind::REMOVE_INODE;
|
|
auto& x = _data.emplace<9>();
|
|
return x;
|
|
}
|
|
const SetDirectoryOwnerEntry& ShardLogEntryContainer::getSetDirectoryOwner() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::SET_DIRECTORY_OWNER, "%s != %s", _kind, ShardLogEntryKind::SET_DIRECTORY_OWNER);
|
|
return std::get<10>(_data);
|
|
}
|
|
SetDirectoryOwnerEntry& ShardLogEntryContainer::setSetDirectoryOwner() {
|
|
_kind = ShardLogEntryKind::SET_DIRECTORY_OWNER;
|
|
auto& x = _data.emplace<10>();
|
|
return x;
|
|
}
|
|
const SetDirectoryInfoEntry& ShardLogEntryContainer::getSetDirectoryInfo() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::SET_DIRECTORY_INFO, "%s != %s", _kind, ShardLogEntryKind::SET_DIRECTORY_INFO);
|
|
return std::get<11>(_data);
|
|
}
|
|
SetDirectoryInfoEntry& ShardLogEntryContainer::setSetDirectoryInfo() {
|
|
_kind = ShardLogEntryKind::SET_DIRECTORY_INFO;
|
|
auto& x = _data.emplace<11>();
|
|
return x;
|
|
}
|
|
const RemoveNonOwnedEdgeEntry& ShardLogEntryContainer::getRemoveNonOwnedEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::REMOVE_NON_OWNED_EDGE, "%s != %s", _kind, ShardLogEntryKind::REMOVE_NON_OWNED_EDGE);
|
|
return std::get<12>(_data);
|
|
}
|
|
RemoveNonOwnedEdgeEntry& ShardLogEntryContainer::setRemoveNonOwnedEdge() {
|
|
_kind = ShardLogEntryKind::REMOVE_NON_OWNED_EDGE;
|
|
auto& x = _data.emplace<12>();
|
|
return x;
|
|
}
|
|
const ScrapTransientFileEntry& ShardLogEntryContainer::getScrapTransientFile() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::SCRAP_TRANSIENT_FILE, "%s != %s", _kind, ShardLogEntryKind::SCRAP_TRANSIENT_FILE);
|
|
return std::get<13>(_data);
|
|
}
|
|
ScrapTransientFileEntry& ShardLogEntryContainer::setScrapTransientFile() {
|
|
_kind = ShardLogEntryKind::SCRAP_TRANSIENT_FILE;
|
|
auto& x = _data.emplace<13>();
|
|
return x;
|
|
}
|
|
const RemoveSpanInitiateEntry& ShardLogEntryContainer::getRemoveSpanInitiate() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::REMOVE_SPAN_INITIATE, "%s != %s", _kind, ShardLogEntryKind::REMOVE_SPAN_INITIATE);
|
|
return std::get<14>(_data);
|
|
}
|
|
RemoveSpanInitiateEntry& ShardLogEntryContainer::setRemoveSpanInitiate() {
|
|
_kind = ShardLogEntryKind::REMOVE_SPAN_INITIATE;
|
|
auto& x = _data.emplace<14>();
|
|
return x;
|
|
}
|
|
const AddSpanInitiateEntry& ShardLogEntryContainer::getAddSpanInitiate() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::ADD_SPAN_INITIATE, "%s != %s", _kind, ShardLogEntryKind::ADD_SPAN_INITIATE);
|
|
return std::get<15>(_data);
|
|
}
|
|
AddSpanInitiateEntry& ShardLogEntryContainer::setAddSpanInitiate() {
|
|
_kind = ShardLogEntryKind::ADD_SPAN_INITIATE;
|
|
auto& x = _data.emplace<15>();
|
|
return x;
|
|
}
|
|
const AddSpanCertifyEntry& ShardLogEntryContainer::getAddSpanCertify() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::ADD_SPAN_CERTIFY, "%s != %s", _kind, ShardLogEntryKind::ADD_SPAN_CERTIFY);
|
|
return std::get<16>(_data);
|
|
}
|
|
AddSpanCertifyEntry& ShardLogEntryContainer::setAddSpanCertify() {
|
|
_kind = ShardLogEntryKind::ADD_SPAN_CERTIFY;
|
|
auto& x = _data.emplace<16>();
|
|
return x;
|
|
}
|
|
const AddInlineSpanEntry& ShardLogEntryContainer::getAddInlineSpan() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::ADD_INLINE_SPAN, "%s != %s", _kind, ShardLogEntryKind::ADD_INLINE_SPAN);
|
|
return std::get<17>(_data);
|
|
}
|
|
AddInlineSpanEntry& ShardLogEntryContainer::setAddInlineSpan() {
|
|
_kind = ShardLogEntryKind::ADD_INLINE_SPAN;
|
|
auto& x = _data.emplace<17>();
|
|
return x;
|
|
}
|
|
const MakeFileTransientDEPRECATEDEntry& ShardLogEntryContainer::getMakeFileTransientDEPRECATED() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED, "%s != %s", _kind, ShardLogEntryKind::MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED);
|
|
return std::get<18>(_data);
|
|
}
|
|
MakeFileTransientDEPRECATEDEntry& ShardLogEntryContainer::setMakeFileTransientDEPRECATED() {
|
|
_kind = ShardLogEntryKind::MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED;
|
|
auto& x = _data.emplace<18>();
|
|
return x;
|
|
}
|
|
const RemoveSpanCertifyEntry& ShardLogEntryContainer::getRemoveSpanCertify() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::REMOVE_SPAN_CERTIFY, "%s != %s", _kind, ShardLogEntryKind::REMOVE_SPAN_CERTIFY);
|
|
return std::get<19>(_data);
|
|
}
|
|
RemoveSpanCertifyEntry& ShardLogEntryContainer::setRemoveSpanCertify() {
|
|
_kind = ShardLogEntryKind::REMOVE_SPAN_CERTIFY;
|
|
auto& x = _data.emplace<19>();
|
|
return x;
|
|
}
|
|
const RemoveOwnedSnapshotFileEdgeEntry& ShardLogEntryContainer::getRemoveOwnedSnapshotFileEdge() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE, "%s != %s", _kind, ShardLogEntryKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE);
|
|
return std::get<20>(_data);
|
|
}
|
|
RemoveOwnedSnapshotFileEdgeEntry& ShardLogEntryContainer::setRemoveOwnedSnapshotFileEdge() {
|
|
_kind = ShardLogEntryKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE;
|
|
auto& x = _data.emplace<20>();
|
|
return x;
|
|
}
|
|
const SwapBlocksEntry& ShardLogEntryContainer::getSwapBlocks() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::SWAP_BLOCKS, "%s != %s", _kind, ShardLogEntryKind::SWAP_BLOCKS);
|
|
return std::get<21>(_data);
|
|
}
|
|
SwapBlocksEntry& ShardLogEntryContainer::setSwapBlocks() {
|
|
_kind = ShardLogEntryKind::SWAP_BLOCKS;
|
|
auto& x = _data.emplace<21>();
|
|
return x;
|
|
}
|
|
const MoveSpanEntry& ShardLogEntryContainer::getMoveSpan() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::MOVE_SPAN, "%s != %s", _kind, ShardLogEntryKind::MOVE_SPAN);
|
|
return std::get<22>(_data);
|
|
}
|
|
MoveSpanEntry& ShardLogEntryContainer::setMoveSpan() {
|
|
_kind = ShardLogEntryKind::MOVE_SPAN;
|
|
auto& x = _data.emplace<22>();
|
|
return x;
|
|
}
|
|
const SetTimeEntry& ShardLogEntryContainer::getSetTime() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::SET_TIME, "%s != %s", _kind, ShardLogEntryKind::SET_TIME);
|
|
return std::get<23>(_data);
|
|
}
|
|
SetTimeEntry& ShardLogEntryContainer::setSetTime() {
|
|
_kind = ShardLogEntryKind::SET_TIME;
|
|
auto& x = _data.emplace<23>();
|
|
return x;
|
|
}
|
|
const RemoveZeroBlockServiceFilesEntry& ShardLogEntryContainer::getRemoveZeroBlockServiceFiles() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::REMOVE_ZERO_BLOCK_SERVICE_FILES, "%s != %s", _kind, ShardLogEntryKind::REMOVE_ZERO_BLOCK_SERVICE_FILES);
|
|
return std::get<24>(_data);
|
|
}
|
|
RemoveZeroBlockServiceFilesEntry& ShardLogEntryContainer::setRemoveZeroBlockServiceFiles() {
|
|
_kind = ShardLogEntryKind::REMOVE_ZERO_BLOCK_SERVICE_FILES;
|
|
auto& x = _data.emplace<24>();
|
|
return x;
|
|
}
|
|
const SwapSpansEntry& ShardLogEntryContainer::getSwapSpans() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::SWAP_SPANS, "%s != %s", _kind, ShardLogEntryKind::SWAP_SPANS);
|
|
return std::get<25>(_data);
|
|
}
|
|
SwapSpansEntry& ShardLogEntryContainer::setSwapSpans() {
|
|
_kind = ShardLogEntryKind::SWAP_SPANS;
|
|
auto& x = _data.emplace<25>();
|
|
return x;
|
|
}
|
|
const SameDirectoryRenameSnapshotEntry& ShardLogEntryContainer::getSameDirectoryRenameSnapshot() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::SAME_DIRECTORY_RENAME_SNAPSHOT, "%s != %s", _kind, ShardLogEntryKind::SAME_DIRECTORY_RENAME_SNAPSHOT);
|
|
return std::get<26>(_data);
|
|
}
|
|
SameDirectoryRenameSnapshotEntry& ShardLogEntryContainer::setSameDirectoryRenameSnapshot() {
|
|
_kind = ShardLogEntryKind::SAME_DIRECTORY_RENAME_SNAPSHOT;
|
|
auto& x = _data.emplace<26>();
|
|
return x;
|
|
}
|
|
const AddSpanAtLocationInitiateEntry& ShardLogEntryContainer::getAddSpanAtLocationInitiate() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::ADD_SPAN_AT_LOCATION_INITIATE, "%s != %s", _kind, ShardLogEntryKind::ADD_SPAN_AT_LOCATION_INITIATE);
|
|
return std::get<27>(_data);
|
|
}
|
|
AddSpanAtLocationInitiateEntry& ShardLogEntryContainer::setAddSpanAtLocationInitiate() {
|
|
_kind = ShardLogEntryKind::ADD_SPAN_AT_LOCATION_INITIATE;
|
|
auto& x = _data.emplace<27>();
|
|
return x;
|
|
}
|
|
const AddSpanLocationEntry& ShardLogEntryContainer::getAddSpanLocation() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::ADD_SPAN_LOCATION, "%s != %s", _kind, ShardLogEntryKind::ADD_SPAN_LOCATION);
|
|
return std::get<28>(_data);
|
|
}
|
|
AddSpanLocationEntry& ShardLogEntryContainer::setAddSpanLocation() {
|
|
_kind = ShardLogEntryKind::ADD_SPAN_LOCATION;
|
|
auto& x = _data.emplace<28>();
|
|
return x;
|
|
}
|
|
const SameShardHardFileUnlinkEntry& ShardLogEntryContainer::getSameShardHardFileUnlink() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::SAME_SHARD_HARD_FILE_UNLINK, "%s != %s", _kind, ShardLogEntryKind::SAME_SHARD_HARD_FILE_UNLINK);
|
|
return std::get<29>(_data);
|
|
}
|
|
SameShardHardFileUnlinkEntry& ShardLogEntryContainer::setSameShardHardFileUnlink() {
|
|
_kind = ShardLogEntryKind::SAME_SHARD_HARD_FILE_UNLINK;
|
|
auto& x = _data.emplace<29>();
|
|
return x;
|
|
}
|
|
const MakeFileTransientEntry& ShardLogEntryContainer::getMakeFileTransient() const {
|
|
ALWAYS_ASSERT(_kind == ShardLogEntryKind::MAKE_FILE_TRANSIENT, "%s != %s", _kind, ShardLogEntryKind::MAKE_FILE_TRANSIENT);
|
|
return std::get<30>(_data);
|
|
}
|
|
MakeFileTransientEntry& ShardLogEntryContainer::setMakeFileTransient() {
|
|
_kind = ShardLogEntryKind::MAKE_FILE_TRANSIENT;
|
|
auto& x = _data.emplace<30>();
|
|
return x;
|
|
}
|
|
ShardLogEntryContainer::ShardLogEntryContainer() {
|
|
clear();
|
|
}
|
|
|
|
ShardLogEntryContainer::ShardLogEntryContainer(const ShardLogEntryContainer& other) {
|
|
*this = other;
|
|
}
|
|
|
|
ShardLogEntryContainer::ShardLogEntryContainer(ShardLogEntryContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = ShardLogEntryKind::EMPTY;
|
|
}
|
|
|
|
void ShardLogEntryContainer::operator=(const ShardLogEntryContainer& other) {
|
|
if (other.kind() == ShardLogEntryKind::EMPTY) { clear(); return; }
|
|
switch (other.kind()) {
|
|
case ShardLogEntryKind::CONSTRUCT_FILE:
|
|
setConstructFile() = other.getConstructFile();
|
|
break;
|
|
case ShardLogEntryKind::LINK_FILE:
|
|
setLinkFile() = other.getLinkFile();
|
|
break;
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME:
|
|
setSameDirectoryRename() = other.getSameDirectoryRename();
|
|
break;
|
|
case ShardLogEntryKind::SOFT_UNLINK_FILE:
|
|
setSoftUnlinkFile() = other.getSoftUnlinkFile();
|
|
break;
|
|
case ShardLogEntryKind::CREATE_DIRECTORY_INODE:
|
|
setCreateDirectoryInode() = other.getCreateDirectoryInode();
|
|
break;
|
|
case ShardLogEntryKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
setCreateLockedCurrentEdge() = other.getCreateLockedCurrentEdge();
|
|
break;
|
|
case ShardLogEntryKind::UNLOCK_CURRENT_EDGE:
|
|
setUnlockCurrentEdge() = other.getUnlockCurrentEdge();
|
|
break;
|
|
case ShardLogEntryKind::LOCK_CURRENT_EDGE:
|
|
setLockCurrentEdge() = other.getLockCurrentEdge();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_DIRECTORY_OWNER:
|
|
setRemoveDirectoryOwner() = other.getRemoveDirectoryOwner();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_INODE:
|
|
setRemoveInode() = other.getRemoveInode();
|
|
break;
|
|
case ShardLogEntryKind::SET_DIRECTORY_OWNER:
|
|
setSetDirectoryOwner() = other.getSetDirectoryOwner();
|
|
break;
|
|
case ShardLogEntryKind::SET_DIRECTORY_INFO:
|
|
setSetDirectoryInfo() = other.getSetDirectoryInfo();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_NON_OWNED_EDGE:
|
|
setRemoveNonOwnedEdge() = other.getRemoveNonOwnedEdge();
|
|
break;
|
|
case ShardLogEntryKind::SCRAP_TRANSIENT_FILE:
|
|
setScrapTransientFile() = other.getScrapTransientFile();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_SPAN_INITIATE:
|
|
setRemoveSpanInitiate() = other.getRemoveSpanInitiate();
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_INITIATE:
|
|
setAddSpanInitiate() = other.getAddSpanInitiate();
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_CERTIFY:
|
|
setAddSpanCertify() = other.getAddSpanCertify();
|
|
break;
|
|
case ShardLogEntryKind::ADD_INLINE_SPAN:
|
|
setAddInlineSpan() = other.getAddInlineSpan();
|
|
break;
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED:
|
|
setMakeFileTransientDEPRECATED() = other.getMakeFileTransientDEPRECATED();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_SPAN_CERTIFY:
|
|
setRemoveSpanCertify() = other.getRemoveSpanCertify();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
setRemoveOwnedSnapshotFileEdge() = other.getRemoveOwnedSnapshotFileEdge();
|
|
break;
|
|
case ShardLogEntryKind::SWAP_BLOCKS:
|
|
setSwapBlocks() = other.getSwapBlocks();
|
|
break;
|
|
case ShardLogEntryKind::MOVE_SPAN:
|
|
setMoveSpan() = other.getMoveSpan();
|
|
break;
|
|
case ShardLogEntryKind::SET_TIME:
|
|
setSetTime() = other.getSetTime();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
setRemoveZeroBlockServiceFiles() = other.getRemoveZeroBlockServiceFiles();
|
|
break;
|
|
case ShardLogEntryKind::SWAP_SPANS:
|
|
setSwapSpans() = other.getSwapSpans();
|
|
break;
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
setSameDirectoryRenameSnapshot() = other.getSameDirectoryRenameSnapshot();
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
setAddSpanAtLocationInitiate() = other.getAddSpanAtLocationInitiate();
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_LOCATION:
|
|
setAddSpanLocation() = other.getAddSpanLocation();
|
|
break;
|
|
case ShardLogEntryKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
setSameShardHardFileUnlink() = other.getSameShardHardFileUnlink();
|
|
break;
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT:
|
|
setMakeFileTransient() = other.getMakeFileTransient();
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardLogEntryKind kind %s", other.kind());
|
|
}
|
|
}
|
|
|
|
void ShardLogEntryContainer::operator=(ShardLogEntryContainer&& other) {
|
|
_data = std::move(other._data);
|
|
_kind = other._kind;
|
|
other._kind = ShardLogEntryKind::EMPTY;
|
|
}
|
|
|
|
size_t ShardLogEntryContainer::packedSize() const {
|
|
switch (_kind) {
|
|
case ShardLogEntryKind::CONSTRUCT_FILE:
|
|
return sizeof(ShardLogEntryKind) + std::get<0>(_data).packedSize();
|
|
case ShardLogEntryKind::LINK_FILE:
|
|
return sizeof(ShardLogEntryKind) + std::get<1>(_data).packedSize();
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME:
|
|
return sizeof(ShardLogEntryKind) + std::get<2>(_data).packedSize();
|
|
case ShardLogEntryKind::SOFT_UNLINK_FILE:
|
|
return sizeof(ShardLogEntryKind) + std::get<3>(_data).packedSize();
|
|
case ShardLogEntryKind::CREATE_DIRECTORY_INODE:
|
|
return sizeof(ShardLogEntryKind) + std::get<4>(_data).packedSize();
|
|
case ShardLogEntryKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
return sizeof(ShardLogEntryKind) + std::get<5>(_data).packedSize();
|
|
case ShardLogEntryKind::UNLOCK_CURRENT_EDGE:
|
|
return sizeof(ShardLogEntryKind) + std::get<6>(_data).packedSize();
|
|
case ShardLogEntryKind::LOCK_CURRENT_EDGE:
|
|
return sizeof(ShardLogEntryKind) + std::get<7>(_data).packedSize();
|
|
case ShardLogEntryKind::REMOVE_DIRECTORY_OWNER:
|
|
return sizeof(ShardLogEntryKind) + std::get<8>(_data).packedSize();
|
|
case ShardLogEntryKind::REMOVE_INODE:
|
|
return sizeof(ShardLogEntryKind) + std::get<9>(_data).packedSize();
|
|
case ShardLogEntryKind::SET_DIRECTORY_OWNER:
|
|
return sizeof(ShardLogEntryKind) + std::get<10>(_data).packedSize();
|
|
case ShardLogEntryKind::SET_DIRECTORY_INFO:
|
|
return sizeof(ShardLogEntryKind) + std::get<11>(_data).packedSize();
|
|
case ShardLogEntryKind::REMOVE_NON_OWNED_EDGE:
|
|
return sizeof(ShardLogEntryKind) + std::get<12>(_data).packedSize();
|
|
case ShardLogEntryKind::SCRAP_TRANSIENT_FILE:
|
|
return sizeof(ShardLogEntryKind) + std::get<13>(_data).packedSize();
|
|
case ShardLogEntryKind::REMOVE_SPAN_INITIATE:
|
|
return sizeof(ShardLogEntryKind) + std::get<14>(_data).packedSize();
|
|
case ShardLogEntryKind::ADD_SPAN_INITIATE:
|
|
return sizeof(ShardLogEntryKind) + std::get<15>(_data).packedSize();
|
|
case ShardLogEntryKind::ADD_SPAN_CERTIFY:
|
|
return sizeof(ShardLogEntryKind) + std::get<16>(_data).packedSize();
|
|
case ShardLogEntryKind::ADD_INLINE_SPAN:
|
|
return sizeof(ShardLogEntryKind) + std::get<17>(_data).packedSize();
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED:
|
|
return sizeof(ShardLogEntryKind) + std::get<18>(_data).packedSize();
|
|
case ShardLogEntryKind::REMOVE_SPAN_CERTIFY:
|
|
return sizeof(ShardLogEntryKind) + std::get<19>(_data).packedSize();
|
|
case ShardLogEntryKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
return sizeof(ShardLogEntryKind) + std::get<20>(_data).packedSize();
|
|
case ShardLogEntryKind::SWAP_BLOCKS:
|
|
return sizeof(ShardLogEntryKind) + std::get<21>(_data).packedSize();
|
|
case ShardLogEntryKind::MOVE_SPAN:
|
|
return sizeof(ShardLogEntryKind) + std::get<22>(_data).packedSize();
|
|
case ShardLogEntryKind::SET_TIME:
|
|
return sizeof(ShardLogEntryKind) + std::get<23>(_data).packedSize();
|
|
case ShardLogEntryKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
return sizeof(ShardLogEntryKind) + std::get<24>(_data).packedSize();
|
|
case ShardLogEntryKind::SWAP_SPANS:
|
|
return sizeof(ShardLogEntryKind) + std::get<25>(_data).packedSize();
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
return sizeof(ShardLogEntryKind) + std::get<26>(_data).packedSize();
|
|
case ShardLogEntryKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
return sizeof(ShardLogEntryKind) + std::get<27>(_data).packedSize();
|
|
case ShardLogEntryKind::ADD_SPAN_LOCATION:
|
|
return sizeof(ShardLogEntryKind) + std::get<28>(_data).packedSize();
|
|
case ShardLogEntryKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
return sizeof(ShardLogEntryKind) + std::get<29>(_data).packedSize();
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT:
|
|
return sizeof(ShardLogEntryKind) + std::get<30>(_data).packedSize();
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardLogEntryKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void ShardLogEntryContainer::pack(BincodeBuf& buf) const {
|
|
buf.packScalar<ShardLogEntryKind>(_kind);
|
|
switch (_kind) {
|
|
case ShardLogEntryKind::CONSTRUCT_FILE:
|
|
std::get<0>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::LINK_FILE:
|
|
std::get<1>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME:
|
|
std::get<2>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SOFT_UNLINK_FILE:
|
|
std::get<3>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::CREATE_DIRECTORY_INODE:
|
|
std::get<4>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
std::get<5>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::UNLOCK_CURRENT_EDGE:
|
|
std::get<6>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::LOCK_CURRENT_EDGE:
|
|
std::get<7>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_DIRECTORY_OWNER:
|
|
std::get<8>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_INODE:
|
|
std::get<9>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SET_DIRECTORY_OWNER:
|
|
std::get<10>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SET_DIRECTORY_INFO:
|
|
std::get<11>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_NON_OWNED_EDGE:
|
|
std::get<12>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SCRAP_TRANSIENT_FILE:
|
|
std::get<13>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_SPAN_INITIATE:
|
|
std::get<14>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_INITIATE:
|
|
std::get<15>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_CERTIFY:
|
|
std::get<16>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::ADD_INLINE_SPAN:
|
|
std::get<17>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED:
|
|
std::get<18>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_SPAN_CERTIFY:
|
|
std::get<19>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
std::get<20>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SWAP_BLOCKS:
|
|
std::get<21>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::MOVE_SPAN:
|
|
std::get<22>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SET_TIME:
|
|
std::get<23>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
std::get<24>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SWAP_SPANS:
|
|
std::get<25>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
std::get<26>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
std::get<27>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_LOCATION:
|
|
std::get<28>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
std::get<29>(_data).pack(buf);
|
|
break;
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT:
|
|
std::get<30>(_data).pack(buf);
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardLogEntryKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
void ShardLogEntryContainer::unpack(BincodeBuf& buf) {
|
|
_kind = buf.unpackScalar<ShardLogEntryKind>();
|
|
switch (_kind) {
|
|
case ShardLogEntryKind::CONSTRUCT_FILE:
|
|
_data.emplace<0>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::LINK_FILE:
|
|
_data.emplace<1>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME:
|
|
_data.emplace<2>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SOFT_UNLINK_FILE:
|
|
_data.emplace<3>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::CREATE_DIRECTORY_INODE:
|
|
_data.emplace<4>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
_data.emplace<5>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::UNLOCK_CURRENT_EDGE:
|
|
_data.emplace<6>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::LOCK_CURRENT_EDGE:
|
|
_data.emplace<7>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_DIRECTORY_OWNER:
|
|
_data.emplace<8>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_INODE:
|
|
_data.emplace<9>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SET_DIRECTORY_OWNER:
|
|
_data.emplace<10>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SET_DIRECTORY_INFO:
|
|
_data.emplace<11>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_NON_OWNED_EDGE:
|
|
_data.emplace<12>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SCRAP_TRANSIENT_FILE:
|
|
_data.emplace<13>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_SPAN_INITIATE:
|
|
_data.emplace<14>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_INITIATE:
|
|
_data.emplace<15>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_CERTIFY:
|
|
_data.emplace<16>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::ADD_INLINE_SPAN:
|
|
_data.emplace<17>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED:
|
|
_data.emplace<18>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_SPAN_CERTIFY:
|
|
_data.emplace<19>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
_data.emplace<20>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SWAP_BLOCKS:
|
|
_data.emplace<21>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::MOVE_SPAN:
|
|
_data.emplace<22>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SET_TIME:
|
|
_data.emplace<23>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
_data.emplace<24>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SWAP_SPANS:
|
|
_data.emplace<25>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
_data.emplace<26>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
_data.emplace<27>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_LOCATION:
|
|
_data.emplace<28>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
_data.emplace<29>().unpack(buf);
|
|
break;
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT:
|
|
_data.emplace<30>().unpack(buf);
|
|
break;
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad ShardLogEntryKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
bool ShardLogEntryContainer::operator==(const ShardLogEntryContainer& other) const {
|
|
if (_kind != other.kind()) { return false; }
|
|
if (_kind == ShardLogEntryKind::EMPTY) { return true; }
|
|
switch (_kind) {
|
|
case ShardLogEntryKind::CONSTRUCT_FILE:
|
|
return getConstructFile() == other.getConstructFile();
|
|
case ShardLogEntryKind::LINK_FILE:
|
|
return getLinkFile() == other.getLinkFile();
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME:
|
|
return getSameDirectoryRename() == other.getSameDirectoryRename();
|
|
case ShardLogEntryKind::SOFT_UNLINK_FILE:
|
|
return getSoftUnlinkFile() == other.getSoftUnlinkFile();
|
|
case ShardLogEntryKind::CREATE_DIRECTORY_INODE:
|
|
return getCreateDirectoryInode() == other.getCreateDirectoryInode();
|
|
case ShardLogEntryKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
return getCreateLockedCurrentEdge() == other.getCreateLockedCurrentEdge();
|
|
case ShardLogEntryKind::UNLOCK_CURRENT_EDGE:
|
|
return getUnlockCurrentEdge() == other.getUnlockCurrentEdge();
|
|
case ShardLogEntryKind::LOCK_CURRENT_EDGE:
|
|
return getLockCurrentEdge() == other.getLockCurrentEdge();
|
|
case ShardLogEntryKind::REMOVE_DIRECTORY_OWNER:
|
|
return getRemoveDirectoryOwner() == other.getRemoveDirectoryOwner();
|
|
case ShardLogEntryKind::REMOVE_INODE:
|
|
return getRemoveInode() == other.getRemoveInode();
|
|
case ShardLogEntryKind::SET_DIRECTORY_OWNER:
|
|
return getSetDirectoryOwner() == other.getSetDirectoryOwner();
|
|
case ShardLogEntryKind::SET_DIRECTORY_INFO:
|
|
return getSetDirectoryInfo() == other.getSetDirectoryInfo();
|
|
case ShardLogEntryKind::REMOVE_NON_OWNED_EDGE:
|
|
return getRemoveNonOwnedEdge() == other.getRemoveNonOwnedEdge();
|
|
case ShardLogEntryKind::SCRAP_TRANSIENT_FILE:
|
|
return getScrapTransientFile() == other.getScrapTransientFile();
|
|
case ShardLogEntryKind::REMOVE_SPAN_INITIATE:
|
|
return getRemoveSpanInitiate() == other.getRemoveSpanInitiate();
|
|
case ShardLogEntryKind::ADD_SPAN_INITIATE:
|
|
return getAddSpanInitiate() == other.getAddSpanInitiate();
|
|
case ShardLogEntryKind::ADD_SPAN_CERTIFY:
|
|
return getAddSpanCertify() == other.getAddSpanCertify();
|
|
case ShardLogEntryKind::ADD_INLINE_SPAN:
|
|
return getAddInlineSpan() == other.getAddInlineSpan();
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED:
|
|
return getMakeFileTransientDEPRECATED() == other.getMakeFileTransientDEPRECATED();
|
|
case ShardLogEntryKind::REMOVE_SPAN_CERTIFY:
|
|
return getRemoveSpanCertify() == other.getRemoveSpanCertify();
|
|
case ShardLogEntryKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
return getRemoveOwnedSnapshotFileEdge() == other.getRemoveOwnedSnapshotFileEdge();
|
|
case ShardLogEntryKind::SWAP_BLOCKS:
|
|
return getSwapBlocks() == other.getSwapBlocks();
|
|
case ShardLogEntryKind::MOVE_SPAN:
|
|
return getMoveSpan() == other.getMoveSpan();
|
|
case ShardLogEntryKind::SET_TIME:
|
|
return getSetTime() == other.getSetTime();
|
|
case ShardLogEntryKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
return getRemoveZeroBlockServiceFiles() == other.getRemoveZeroBlockServiceFiles();
|
|
case ShardLogEntryKind::SWAP_SPANS:
|
|
return getSwapSpans() == other.getSwapSpans();
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
return getSameDirectoryRenameSnapshot() == other.getSameDirectoryRenameSnapshot();
|
|
case ShardLogEntryKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
return getAddSpanAtLocationInitiate() == other.getAddSpanAtLocationInitiate();
|
|
case ShardLogEntryKind::ADD_SPAN_LOCATION:
|
|
return getAddSpanLocation() == other.getAddSpanLocation();
|
|
case ShardLogEntryKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
return getSameShardHardFileUnlink() == other.getSameShardHardFileUnlink();
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT:
|
|
return getMakeFileTransient() == other.getMakeFileTransient();
|
|
default:
|
|
throw BINCODE_EXCEPTION("bad ShardLogEntryKind kind %s", _kind);
|
|
}
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, const ShardLogEntryContainer& x) {
|
|
switch (x.kind()) {
|
|
case ShardLogEntryKind::CONSTRUCT_FILE:
|
|
out << x.getConstructFile();
|
|
break;
|
|
case ShardLogEntryKind::LINK_FILE:
|
|
out << x.getLinkFile();
|
|
break;
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME:
|
|
out << x.getSameDirectoryRename();
|
|
break;
|
|
case ShardLogEntryKind::SOFT_UNLINK_FILE:
|
|
out << x.getSoftUnlinkFile();
|
|
break;
|
|
case ShardLogEntryKind::CREATE_DIRECTORY_INODE:
|
|
out << x.getCreateDirectoryInode();
|
|
break;
|
|
case ShardLogEntryKind::CREATE_LOCKED_CURRENT_EDGE:
|
|
out << x.getCreateLockedCurrentEdge();
|
|
break;
|
|
case ShardLogEntryKind::UNLOCK_CURRENT_EDGE:
|
|
out << x.getUnlockCurrentEdge();
|
|
break;
|
|
case ShardLogEntryKind::LOCK_CURRENT_EDGE:
|
|
out << x.getLockCurrentEdge();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_DIRECTORY_OWNER:
|
|
out << x.getRemoveDirectoryOwner();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_INODE:
|
|
out << x.getRemoveInode();
|
|
break;
|
|
case ShardLogEntryKind::SET_DIRECTORY_OWNER:
|
|
out << x.getSetDirectoryOwner();
|
|
break;
|
|
case ShardLogEntryKind::SET_DIRECTORY_INFO:
|
|
out << x.getSetDirectoryInfo();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_NON_OWNED_EDGE:
|
|
out << x.getRemoveNonOwnedEdge();
|
|
break;
|
|
case ShardLogEntryKind::SCRAP_TRANSIENT_FILE:
|
|
out << x.getScrapTransientFile();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_SPAN_INITIATE:
|
|
out << x.getRemoveSpanInitiate();
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_INITIATE:
|
|
out << x.getAddSpanInitiate();
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_CERTIFY:
|
|
out << x.getAddSpanCertify();
|
|
break;
|
|
case ShardLogEntryKind::ADD_INLINE_SPAN:
|
|
out << x.getAddInlineSpan();
|
|
break;
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT_DE_PR_EC_AT_ED:
|
|
out << x.getMakeFileTransientDEPRECATED();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_SPAN_CERTIFY:
|
|
out << x.getRemoveSpanCertify();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_OWNED_SNAPSHOT_FILE_EDGE:
|
|
out << x.getRemoveOwnedSnapshotFileEdge();
|
|
break;
|
|
case ShardLogEntryKind::SWAP_BLOCKS:
|
|
out << x.getSwapBlocks();
|
|
break;
|
|
case ShardLogEntryKind::MOVE_SPAN:
|
|
out << x.getMoveSpan();
|
|
break;
|
|
case ShardLogEntryKind::SET_TIME:
|
|
out << x.getSetTime();
|
|
break;
|
|
case ShardLogEntryKind::REMOVE_ZERO_BLOCK_SERVICE_FILES:
|
|
out << x.getRemoveZeroBlockServiceFiles();
|
|
break;
|
|
case ShardLogEntryKind::SWAP_SPANS:
|
|
out << x.getSwapSpans();
|
|
break;
|
|
case ShardLogEntryKind::SAME_DIRECTORY_RENAME_SNAPSHOT:
|
|
out << x.getSameDirectoryRenameSnapshot();
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_AT_LOCATION_INITIATE:
|
|
out << x.getAddSpanAtLocationInitiate();
|
|
break;
|
|
case ShardLogEntryKind::ADD_SPAN_LOCATION:
|
|
out << x.getAddSpanLocation();
|
|
break;
|
|
case ShardLogEntryKind::SAME_SHARD_HARD_FILE_UNLINK:
|
|
out << x.getSameShardHardFileUnlink();
|
|
break;
|
|
case ShardLogEntryKind::MAKE_FILE_TRANSIENT:
|
|
out << x.getMakeFileTransient();
|
|
break;
|
|
case ShardLogEntryKind::EMPTY:
|
|
out << "EMPTY";
|
|
break;
|
|
default:
|
|
throw TERN_EXCEPTION("bad ShardLogEntryKind kind %s", x.kind());
|
|
}
|
|
return out;
|
|
}
|
|
|