void doHandshake(int numOfChallenges, int flag, int sock) { char hn[256]={0}; sendMsg("HELLO", 6, sock); receiveMsg(hn, 8, sock); if (strncmp(hn, "GOAHEAD", 7)) { closeSocket(sock); exit(0); } sendObj(&numOfChallenges, sizeof(int), sock); if (flag) sendMsg("P", 2, sock); else sendMsg("R", 2, sock); receiveMsg(hn, 8, sock); if (strncmp(hn, "GOAHEAD", 7)) { closeSocket(sock); exit(0); } }
Serializable * NegativeEvent::deserialize( SerializedInstance *instance ){ VTime *sendingTime = dynamic_cast<VTime *>(instance->getSerializable()); VTime *recvTime = dynamic_cast<VTime *>(instance->getSerializable()); unsigned int senderSimManID = instance->getUnsigned(); unsigned int senderSimObjID = instance->getUnsigned(); unsigned int receiverSimManID = instance->getUnsigned(); unsigned int receiverSimObjID = instance->getUnsigned(); unsigned int eventId = instance->getUnsigned(); ObjectID sendObj(senderSimObjID, senderSimManID); ObjectID recvObj(receiverSimObjID, receiverSimManID); NegativeEvent *negEvent = new NegativeEvent( *sendingTime, *recvTime, sendObj, recvObj, eventId); delete sendingTime; delete recvTime; return negEvent; }