Exemplo n.º 1
0
	void
	run(std::string name, int id, int next_runner_id,std::string label, int runTime, bool debug, std::string script)
	{
		m_name = name;
		m_label = label;
		m_next_runner_id=next_runner_id;
		m_runTime=runTime;
		m_debug=debug;
		m_id=id;
		m_script=script;

		// advertise runner
				const char* advertiseRunner= std::string("nlsrc advertise /runner/"+m_id).c_str();
//				int rv1=system(advertiseRunner);
//				std::cout<<"Return value: "<< rv1 <<std::endl;
//				if(m_debug && rv1==32512){
//				}else{
//					std::cout<<">> Advertising runner /runner/"<< m_id << " Failed !!!"<<std::endl;
//				}
				std::cout<<">> Advertising runner /runner/"<< m_id <<std::endl;
		m_face_i.setInterestFilter(m_name+"/"+std::to_string(m_id),
				bind(&Runner::onInterest, this,_1,_2),
				RegisterPrefixSuccessCallback(),
				bind(&Runner::onRegisterFailed, this,_1,_2));

		m_face_i.processEvents();

	}
Exemplo n.º 2
0
Producer::Producer(const Name& prefix,
                   Face& face,
                   KeyChain& keyChain,
                   const security::SigningInfo& signingInfo,
                   time::milliseconds freshnessPeriod,
                   size_t maxSegmentSize,
                   std::ifstream& ifs)
  : m_prefix(prefix)
  , m_face(face)
  , m_keyChain(keyChain)
  , m_signingInfo(signingInfo)
  , m_freshnessPeriod(freshnessPeriod)
  , m_maxSegmentSize(maxSegmentSize)
{
  std::time_t start = std::time(NULL);
  std::cout << "Populating segments" << std::endl;
  populateSegments(ifs);
  std::cout << "End of populating segments" << std::endl;

  m_face.setInterestFilter(m_prefix,
                           bind(&Producer::onInterest, this, _2),
                           RegisterPrefixSuccessCallback(),
                           bind(&Producer::onRegisterFailed, this, _1, _2));

  std::time_t end = std::time(NULL);
  std::cout << "It takes " << end - start << " seconds to initiliaze producer." << std::endl;
  std::cout << "Data published with name: " << m_prefix << std::endl;
}
Exemplo n.º 3
0
  void
  run()
  {
    m_face.setInterestFilter(LOCALHOP_HUB,
                             bind(&NdnAutoconfigServer::onHubInterest, this, _1, _2),
                             RegisterPrefixSuccessCallback(),
                             bind(&NdnAutoconfigServer::onRegisterFailed, this, _1, _2));

    if (static_cast<bool>(m_routablePrefixesData)) {
      m_face.setInterestFilter(LOCALHOP_ROUTABLE_PREFIXES,
                               bind(&NdnAutoconfigServer::onRoutablePrefixesInterest, this, _1, _2),
                               RegisterPrefixSuccessCallback(),
                               bind(&NdnAutoconfigServer::onRegisterFailed, this, _1, _2));
    }

    m_face.processEvents();
  }
Exemplo n.º 4
0
 void
 run()
 {
   m_face.setInterestFilter("/example/testApp",
                            bind(&Producer::onInterest, this, _1, _2),
                            RegisterPrefixSuccessCallback(),
                            bind(&Producer::onRegisterFailed, this, _2));
   m_face.processEvents();
 }
Exemplo n.º 5
0
 void
 run(shared_ptr<IdentityCertificate> defaultCertificate)
 {
   certificate = defaultCertificate;
   std::cout<<"Public key name: " << defaultCertificate->getPublicKeyInfo() <<std::endl;
   //std::cout<<"Publishing with name: " <<defaultCertificate->getName() <<std::endl;
   std::cout<<"Publishing with Fname:" <<defaultCertificate->getName().getPrefix(5) <<std::endl;
   m_face.setInterestFilter(defaultCertificate ->getName().getPrefix(5),
                            bind(&CertificatePublisher::onInterest, this, _1, _2),
                            RegisterPrefixSuccessCallback(),
                            bind(&CertificatePublisher::onRegisterFailed, this, _1, _2));
   m_face.processEvents();
 }
Exemplo n.º 6
0
const RegisteredPrefixId*
Face::setInterestFilter(const InterestFilter& interestFilter,
                        const OnInterest& onInterest,
                        const RegisterPrefixFailureCallback& onFailure,
                        const security::SigningInfo& signingInfo,
                        uint64_t flags)
{
  return setInterestFilter(interestFilter,
                           onInterest,
                           RegisterPrefixSuccessCallback(),
                           onFailure,
                           signingInfo,
                           flags);
}
Exemplo n.º 7
0
  void
  run(char* prefixB, char* name2)
  {
    // *** V2 *** uncomment to make data packets in advance
    // generateDataPackets();

    std::cout << "\n=== Server B: " << prefixB << " ===\n" << std::endl;

    // set up server
    m_face.setInterestFilter(Name(prefixB),
                             bind(&ServerB::onInterest, this, _1, _2, name2),
                             RegisterPrefixSuccessCallback(),
                             bind(&ServerB::onRegisterFailed, this, _1, _2));
    m_face.processEvents();
  }
Exemplo n.º 8
0
const RegisteredPrefixId*
Face::setInterestFilter(const InterestFilter& interestFilter,
                        const OnInterest& onInterest,
                        const RegisterPrefixFailureCallback& onFailure,
                        const Name& identity,
                        uint64_t flags)
{
  shared_ptr<InterestFilterRecord> filter =
    make_shared<InterestFilterRecord>(interestFilter, onInterest);

  nfd::CommandOptions options;
  options.setSigningIdentity(identity);

  return m_impl->registerPrefix(interestFilter.getPrefix(), filter,
                                RegisterPrefixSuccessCallback(), onFailure,
                                flags, options);
}
Exemplo n.º 9
0
const RegisteredPrefixId*
Face::setInterestFilter(const InterestFilter& interestFilter,
                        const OnInterest& onInterest,
                        const RegisterPrefixFailureCallback& onFailure,
                        const IdentityCertificate& certificate,
                        uint64_t flags)
{
  shared_ptr<InterestFilterRecord> filter =
    make_shared<InterestFilterRecord>(interestFilter, onInterest);

  nfd::CommandOptions options;
  if (certificate.getName().empty()) {
    options.setSigningDefault();
  }
  else {
    options.setSigningCertificate(certificate);
  }

  return m_impl->registerPrefix(interestFilter.getPrefix(), filter,
                                RegisterPrefixSuccessCallback(), onFailure,
                                flags, options);
}
Producer::Producer(const Name& prefix,
                   Face& face,
                   KeyChain& keyChain,
                   const security::SigningInfo& signingInfo,
                   time::milliseconds freshnessPeriod,
                   size_t maxSegmentSize,
                   bool isVerbose,
                   bool needToPrintVersion,
                   std::istream& is)
  : m_face(face)
  , m_keyChain(keyChain)
  , m_signingInfo(signingInfo)
  , m_freshnessPeriod(freshnessPeriod)
  , m_maxSegmentSize(maxSegmentSize)
  , m_isVerbose(isVerbose)
{
  if (prefix.size() > 0 && prefix[-1].isVersion()) {
    m_prefix = prefix.getPrefix(-1);
    m_versionedPrefix = prefix;
  }
  else {
    m_prefix = prefix;
    m_versionedPrefix = Name(m_prefix).appendVersion();
  }

  populateStore(is);

  if (needToPrintVersion)
    std::cout << m_versionedPrefix[-1] << std::endl;

  m_face.setInterestFilter(m_prefix,
                           bind(&Producer::onInterest, this, _2),
                           RegisterPrefixSuccessCallback(),
                           bind(&Producer::onRegisterFailed, this, _1, _2));

  if (m_isVerbose)
    std::cerr << "Data published with name: " << m_versionedPrefix << std::endl;
}