MCPcopy Create free account
hub / github.com/Tencent/phxqueue / CalHash

Function CalHash

phxqueue/consumer/hblock.cpp:307–319  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

305}
306
307static size_t CalHash(const vector<comm::proto::AddrScale> &addr_scales) {
308 size_t h = crc32(0, Z_NULL, 0);
309 for (auto &&addr_scale : addr_scales) {
310 int port = addr_scale.addr().port();
311 int paxos_port = addr_scale.addr().paxos_port();
312 int scale = addr_scale.scale();
313 h = crc32(h, (const unsigned char *)addr_scale.addr().ip().c_str(), addr_scale.addr().ip().length());
314 h = crc32(h, (const unsigned char *)&port, sizeof(int));
315 h = crc32(h, (const unsigned char *)&paxos_port, sizeof(int));
316 h = crc32(h, (const unsigned char *)&scale, sizeof(int));
317 }
318 return h;
319}
320
321comm::RetCode HeartBeatLock::GetAddrScale(SubID2AddrScales &sub_id2addr_scales) {
322 QLVerb("start");

Callers 1

SyncMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected