shard: register location

This commit is contained in:
Miroslav Crnic
2024-09-12 14:27:27 +01:00
committed by GitHub Enterprise
parent ccbeecfd25
commit f8c4096dc9
5 changed files with 71 additions and 47 deletions

View File

@@ -211,8 +211,8 @@ std::pair<int, std::string> fetchBlockServices(const std::string& addr, uint16_t
#undef FAIL
}
std::pair<int, std::string> registerShardReplica(
const std::string& addr, uint16_t port, Duration timeout, ShardReplicaId shrid, bool isLeader,
std::pair<int, std::string> registerShard(
const std::string& addr, uint16_t port, Duration timeout, ShardReplicaId shrid, uint8_t location, bool isLeader,
const AddrsInfo& addrs
) {
const auto [sock, errStr] = shuckleSock(addr, port, timeout);
@@ -221,8 +221,9 @@ std::pair<int, std::string> registerShardReplica(
}
ShuckleReqContainer reqContainer;
auto& req = reqContainer.setRegisterShardReplica();
auto& req = reqContainer.setRegisterShard();
req.shrid = shrid;
req.location = location;
req.isLeader = isLeader;
req.addrs = addrs;
{
@@ -235,7 +236,7 @@ std::pair<int, std::string> registerShardReplica(
const auto [err, errStr] = readShuckleResponse(sock.get(), respContainer, timeout);
if (err) { return {err, errStr}; }
}
respContainer.getRegisterShardReplica();
respContainer.getRegisterShard(); // check that the response is of the right type
return {};
}