Guest User

Untitled

a guest
Mar 6th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. void
  2. RoutingExperiment::ReceivePacket (Ptr<Socket> socket)
  3. {
  4.     Ptr<Packet> packet;
  5.     Address senderAddress;
  6.     Ptr<Node> node= socket->GetNode();
  7.     while ((packet = socket->RecvFrom (senderAddress)))
  8.     {
  9.         MyHeader head;
  10.         packet->RemoveHeader(head);
  11.         //Type
  12.         uint32_t type=head.getType();
  13.         if (type==2)
  14.         {
  15.             if(!socket->GetNode()->GetReceived())
  16.             {
  17.                 socket->GetNode()->SetReceived(true);  
  18.                 HandleMessage(socket, head);
  19.             }
  20.         }
  21.     }
  22. }
  23.  
  24. void
  25. RoutingExperiment::HandleMessage (Ptr<Node> node, MyHeader head,)
  26. {
  27.         //Create a packet with the correct parameters taken from the node
  28.         Ptr<Packet> p= Create<Packet> (100);
  29.         MyHeader header;
  30.         header.setType(2);
  31.         p->AddHeader(header);
  32.         Ptr<Socket>sock=node->getBroadcast();
  33.         //My address
  34.         Ipv4Address addri = GetAddress(node);
  35.         state=phase;
  36.         std::cout<<"\n"<<addri<<" ("<<phase<< "): forwarding broadcast";
  37.         sock->Send(p);
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment