Skip to content

Instantly share code, notes, and snippets.

@joshjdevl
Created May 22, 2014 04:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joshjdevl/9d303d8996ad8ad02098 to your computer and use it in GitHub Desktop.
Save joshjdevl/9d303d8996ad8ad02098 to your computer and use it in GitHub Desktop.
// Consumer
ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerZipfMandelbrot");
// Consumer will request /prefix0, /prefix1, ...
consumerHelper.SetPrefix("/producer");
//consumerHelper.SetProducerPrefix ("/producer");
consumerHelper.SetAttribute ("Frequency", StringValue ("10")); // 10 interests a second
consumerHelper.SetAttribute("Randomize", StringValue ("uniform"));
//consumerHelper.SetAttribute("producerprefix", StringValue("/producer"));
consumerHelper.SetAttribute("NumberOfContents", StringValue("9"));
NodeContainer consumerNodes;
int nodeIndex = 1;
std::string consumernodeNamePrefix("consumer");
Ptr<Node> consumerNode = Names::Find<Node>(consumernodeNamePrefix + boost::lexical_cast<std::string>(nodeIndex++));
while(consumerNode != NULL)
{
consumerNodes.Add (consumerNode);
consumerNode = Names::Find<Node>(consumernodeNamePrefix + boost::lexical_cast<std::string>(nodeIndex++));
}
consumerHelper.Install(consumerNodes);
int producernodeIndex = 1;
std::string producernodeNamePrefix("producer");
Ptr<Node> producerNode = Names::Find<Node>(producernodeNamePrefix + boost::lexical_cast<std::string>(producernodeIndex));
while(producerNode != NULL)
{
NodeContainer producerNodes;
producerNodes.Add (producerNode);
// Producer
ndn::AppHelper producerHelper ("ns3::ndn::Producer");
// Producer will reply to all requests starting with /prefix
std::string pprefix = "/producer/"+ boost::lexical_cast<std::string>(producernodeIndex);
std::cout<<"pprefix="<<pprefix<<std::endl;
producerHelper.SetPrefix (pprefix);
producerHelper.SetAttribute ("PayloadSize", StringValue("1024"));
producerHelper.Install(producerNodes);
producerNode = Names::Find<Node>(producernodeNamePrefix + boost::lexical_cast<std::string>(producernodeIndex++));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment