当前位置: 首页>>代码示例>>C++>>正文


C++ SimulationController::add_keeper方法代码示例

本文整理汇总了C++中shawn::SimulationController::add_keeper方法的典型用法代码示例。如果您正苦于以下问题:C++ SimulationController::add_keeper方法的具体用法?C++ SimulationController::add_keeper怎么用?C++ SimulationController::add_keeper使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在shawn::SimulationController的用法示例。


在下文中一共展示了SimulationController::add_keeper方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

extern "C" void init_routing( shawn::SimulationController& sc )
{
	// Create two keepers in the simulation controller 
    // one for the factories ... 
	sc.add_keeper( new routing::RoutingFactoryKeeper );
	// ... and one for the created routing protocol instances
	sc.add_keeper( new routing::RoutingKeeper );
	sc.simulation_task_keeper_w().add( new routing::RoutingTask );

	routing::RoutingFactoryKeeper& rfk = routing::routing_factory_keeper_w(sc);

	// Initialize the routing algorithms
	
	// Distributed Tree
	{
		routing::tree::TreeRoutingProcessorFactory::register_factory(sc);
		rfk.add( new routing::tree::TreeRoutingFactory );
		// Tree knowledge injection
		sc.simulation_task_keeper_w().add( new routing::tree::TreeCreationTask );
	}

	// Distributed Flood
	{
		routing::flood::FloodRoutingProcessorFactory::register_factory(sc);
		rfk.add( new routing::flood::FloodRoutingFactory );
	}

	// Distributed GeoRouting
	{
		routing::geo::GeoRoutingProcessorFactory::register_factory(sc);
		rfk.add( new routing::geo::GeoRoutingFactory );
		// Pre creates the neighborhood
		sc.simulation_task_keeper_w().add( new routing::geo::GeoNeighborhoodCreationTask );
	}

	// Centralized FloodRouting
	{
		rfk.add( new routing::flood::CentralizedFloodRoutingFactory );
	}

	// Centralized TreeRouting
	{
		rfk.add( new routing::tree::CentralizedTreeRoutingFactory );
		sc.simulation_task_keeper_w().add( new routing::tree::CentralizedTreeCreationTask ); 
	}

	// Simplified GeoRouting
	{
		routing::geo::SimplifiedGeoRoutingProcessorFactory::register_factory(sc);
		rfk.add( new routing::geo::SimplifiedGeoRoutingFactory );
		//// Pre creates the neighborhood
		//sc.simulation_task_keeper_w().add( new routing::geo::SimplifiedGeoNeighborhoodCreationTask );
	}
}
开发者ID:MarcStelzner,项目名称:shawn,代码行数:54,代码来源:routing_init.cpp

示例2:

extern "C" void init_reading( shawn::SimulationController& sc )
{
   // Keepers
    sc.add_keeper(new reading::ReadingKeeper());
    sc.add_keeper(new reading::SensorKeeper());

   // Sensors
    sc.keeper_by_name_w<reading::SensorKeeper>("SensorKeeper")->add( new reading::SimpleSensorDoubleFactory );
    sc.keeper_by_name_w<reading::SensorKeeper>("SensorKeeper")->add( new reading::SimpleSensorIntegerFactory );

   // Test
   reading::RandomDoubleTestProcessorFactory::register_factory(sc);
   sc.simulation_task_keeper_w().add( new reading::SimulationTaskReadingDoubleTestCreate );
}
开发者ID:honr,项目名称:shawn,代码行数:14,代码来源:reading_init.cpp

示例3: init_topology_node_gen

  void init_topology_node_gen( shawn::SimulationController& sc )
  {
     std::cout << "init_topology_node_gen" << std::endl; 
     NodeGeneratorKeeper* ng = new NodeGeneratorKeeper;
     sc.add_keeper( ng );

     ng->add( new DefaultNodeGenerator );
  }
开发者ID:honr,项目名称:shawn,代码行数:8,代码来源:node_gen_init.cpp


注:本文中的shawn::SimulationController::add_keeper方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。