Ejemplo n.º 1
0
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);
  }
}
Ejemplo n.º 2
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;
}