in SenderThread.cpp [685:723]
SenderState SenderThread::readReceiverCmd() {
WTVLOG(1) << "entered READ_RECEIVER_CMD state";
ErrorCode errCode = readNextReceiverCmd();
if (errCode != OK) {
threadStats_.setLocalErrorCode(errCode);
return CONNECT;
}
Protocol::CMD_MAGIC cmd = (Protocol::CMD_MAGIC)buf_[0];
if (cmd == Protocol::ERR_CMD) {
return PROCESS_ERR_CMD;
}
if (cmd == Protocol::WAIT_CMD) {
return PROCESS_WAIT_CMD;
}
if (cmd == Protocol::DONE_CMD) {
return PROCESS_DONE_CMD;
}
if (cmd == Protocol::ABORT_CMD) {
return PROCESS_ABORT_CMD;
}
if (cmd == Protocol::LOCAL_CHECKPOINT_CMD) {
errCode = readAndVerifySpuriousCheckpoint();
if (errCode == SOCKET_READ_ERROR) {
return CONNECT;
}
if (errCode == PROTOCOL_ERROR) {
return END;
}
WDT_CHECK_EQ(OK, errCode);
return READ_RECEIVER_CMD;
}
if (cmd == Protocol::HEART_BEAT_CMD) {
return READ_RECEIVER_CMD;
}
WTLOG(ERROR) << "Read unexpected receiver cmd " << cmd << " port " << port_;
threadStats_.setLocalErrorCode(PROTOCOL_ERROR);
return END;
}