Beispiel #1
0
bool
av::Distributed::isOwned() const
{
#if defined(AVANGO_DISTRIBUTION_SUPPORT)
  return (!isDistributed() || (netCreator() == netNode()->netEID()));
#else
  return true;
#endif
}
Beispiel #2
0
void
av::Distributed::notifyLocalChange()
{
  if (!isDistributed())
  {
    return;
  }

  Link<Distributed> tmp(this);
  mNetInfo->mNode->updateDistributedObject(tmp);
}
Beispiel #3
0
        void MpiCommunicator::fini()
        {
            VT_FUNC_I( "MpiCommunicator::fini" );
            // Already running?
            if ( ! m_hasBeenInitialized ) {
                return;
            }

            // First the generic cleanup:
            GenericCommunicator::fini();

            // Cleanup of mpi specific stuff:
            delete m_channel;
            m_channel = NULL;
            if( ! ( isDistributed() || m_customComm ) ) {
                MPI_Finalize();
            }
        }
Beispiel #4
0
MemoryType::MemoryType(Location _addr, size_t _size, AllocKind ak, long blsz, const SourceInfo& _pos)
: startAddress(_addr), origin(ak), allocPos(_pos), typedata(), initdata(_size), blocksize(blsz)
{
  assert(_size && getSize());

  RuntimeSystem&   rs = RuntimeSystem::instance();

  if ( diagnostics::message(diagnostics::memory) )
  {
    std::stringstream msg;

    Address addrlimit = endAddress();

    msg << "  ***** Allocate Memory :: [" << _addr
        << ", " << addrlimit << ")"
        << "  size = " << _size
        << "  blocksize = " << blocksize
        << "  distributed = " << isDistributed()
        << "  @ (" << _pos.src_line << ", " << _pos.rted_line << ")";
    rs.printMessage(msg.str());
  }
}
void startNodes(void)
{
	//start coordinator
	AU_UAV_ROS::StartCoordinator coordsrv;
	coordsrv.request.indicator = "start coordinator";
	while (initiateCoordinator.call(coordsrv) == false)
	{
		ROS_INFO("starting coordinator...");
	}

	//start simulator
	AU_UAV_ROS::StartSimulator simsrv;
	simsrv.request.indicator = "start simulator";
	while (initiateSimulator.call(simsrv) == false)
	{
		ROS_INFO("starting simulator....");
	}

	//start collision avoidance if the distributed simulator is not running
	if (!isDistributed())
	{
		AU_UAV_ROS::StartCollisionAvoidance casrv;
		casrv.request.indicator = "start collision avoidance";
		while (initiateCollisionAvoidance.call(casrv) == false)
		{
			ROS_INFO("starting collision avoidance...");
		}
	}

	//start XbeeIO
	AU_UAV_ROS::StartXbeeIO xbeesrv;
	xbeesrv.request.indicator = "start xbee io";
	while (initiateXbeeIO.call(xbeesrv) == false)
	{
		ROS_INFO("starting XbeeIO");
	}
}