CARLA
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
carla Namespace Reference

This file contains definitions of common data structures used in traffic manager. More...

Namespaces

namespace  agents
 
namespace  client
 
namespace  detail
 
namespace  geom
 
namespace  image
 
namespace  iterator
 
namespace  learning
 
namespace  logging
 
namespace  multigpu
 
namespace  nav
 
namespace  opendrive
 
namespace  pointcloud
 
namespace  profiler
 
namespace  road
 
namespace  ros2
 
namespace  rpc
 
namespace  rss
 
namespace  sensor
 
namespace  streaming
 
namespace  traffic_manager
 

Classes

struct  are_same
 
struct  are_same< T0, T1 >
 
struct  are_same< T0, T1, Ts... >
 
class  AtomicSharedPtr
 A very simple atomic shared ptr with release-acquire memory order. More...
 
class  Buffer
 A piece of raw data. More...
 
class  BufferPool
 A pool of Buffer. More...
 
class  BufferView
 Creating a constant view from an existing buffer. More...
 
class  FileSystem
 Static functions for accessing the file system. More...
 
class  Functional
 
class  ListView
 A view over a range of elements in a container. More...
 
class  MovableNonCopyable
 Inherit (privately) to suppress copy construction and assignment. More...
 
class  MsgPack
 
class  NonCopyable
 Inherit (privately) to suppress copy/move construction and assignment. More...
 
class  RecurrentSharedFuture
 This class is meant to be used similar to a shared future, but the value can be set any number of times. More...
 
class  StringUtil
 
class  ThreadGroup
 
class  ThreadPool
 A thread pool based on Boost.Asio's io context. More...
 
class  time_duration
 Positive time duration up to milliseconds resolution. More...
 

Typedefs

using ActorId = rpc::ActorId
 
template<typename T >
using EnableSharedFromThis = std::enable_shared_from_this< T >
 
using SharedBufferView = std::shared_ptr< BufferView >
 
template<typename T >
using SharedPtr = std::shared_ptr< T >
 
using StopWatch = detail::StopWatchTmpl< std::chrono::steady_clock >
 
using TM = traffic_manager::TrafficManager
 
template<typename T >
using WeakPtr = std::weak_ptr< T >
 

Functions

template<typename ... Args>
static void log_critical (Args &&... args)
 
template<typename ... Args>
static void log_debug (Args &&... args)
 
template<typename ... Args>
static void log_error (Args &&... args)
 
template<typename ... Args>
static void log_info (Args &&... args)
 
template<typename ... Args>
static void log_warning (Args &&... args)
 
template<typename Container >
static auto MakeListView (Container &c)
 
template<typename Iterator >
static auto MakeListView (Iterator begin, Iterator end)
 
template<typename T , typename... Args>
static auto MakeShared (Args &&... args)
 
template<typename FunctorT >
auto MoveHandler (FunctorT &&func)
 Hack to trick asio into accepting move-only handlers, if the handler were actually copied it would result in a link error.
 
static bool operator!= (const Buffer &lhs, const Buffer &rhs)
 
static std::ostream & operator<< (std::ostream &out, const Buffer &buf)
 
static bool operator== (const Buffer &lhs, const Buffer &rhs)
 
void SetCloseOnExecForListeningPort (uint16_t Port)
 Fallback for listening sockets we have no direct handle to (e.g.
 
template<typename NativeHandle >
void SetSocketCloseOnExec (NativeHandle fd)
 Marks a socket file descriptor close-on-exec, so it is not inherited by child processes started via fork+exec (e.g.
 
template<typename ExceptionT >
void throw_exception (const ExceptionT &e)
 Templated on the static type so the thrown object keeps its dynamic type: taking a const std::exception & and throw e; would slice every carla::client error down to a bare std::exception (what() == "std::exception"), losing the server's message.
 

Detailed Description

This file contains definitions of common data structures used in traffic manager.

This file has functionality for motion planning based on information from localization, collision avoidance and traffic light response.

Todo:
This shouldn't be exposed in this namespace.

Typedef Documentation

◆ ActorId

using carla::ActorId = typedef rpc::ActorId

Definition at line 18 of file ActorId.h.

◆ EnableSharedFromThis

template<typename T >
using carla::EnableSharedFromThis = typedef std::enable_shared_from_this<T>

Definition at line 21 of file Memory.h.

◆ SharedBufferView

using carla::SharedBufferView = typedef std::shared_ptr<BufferView>

Definition at line 151 of file BufferView.h.

◆ SharedPtr

template<typename T >
using carla::SharedPtr = typedef std::shared_ptr<T>

Definition at line 15 of file Memory.h.

◆ StopWatch

using carla::StopWatch = typedef detail::StopWatchTmpl<std::chrono::steady_clock>

Definition at line 58 of file StopWatch.h.

◆ TM

Definition at line 19 of file Vehicle.cpp.

◆ WeakPtr

template<typename T >
using carla::WeakPtr = typedef std::weak_ptr<T>

Definition at line 18 of file Memory.h.

Function Documentation

◆ log_critical()

template<typename ... Args>
static void carla::log_critical ( Args &&...  args)
inlinestatic

◆ log_debug()

template<typename ... Args>
static void carla::log_debug ( Args &&...  args)
inlinestatic

Definition at line 68 of file Logging.h.

References carla::logging::write_to_stream().

Referenced by carla::road::MapBuilder::CheckSignalsOnRoads(), carla::streaming::detail::MultiStreamState::ClearSessions(), carla::multigpu::Primary::CloseNow(), carla::streaming::detail::tcp::ServerSession::CloseNow(), carla::streaming::detail::Dispatcher::CloseStream(), carla::streaming::detail::tcp::Client::Connect(), carla::streaming::detail::MultiStreamState::ConnectSession(), carla::streaming::detail::Dispatcher::DeregisterSession(), carla::client::Actor::Destroy(), carla::client::ServerSideSensor::Destroy(), carla::client::detail::Simulator::DestroyActor(), carla::streaming::detail::MultiStreamState::DisconnectSession(), carla::multigpu::PrimaryCommands::GetToken(), carla::streaming::detail::Dispatcher::GetToken(), carla::client::ServerSideSensor::Listen(), carla::client::RssSensor::Listen(), carla::client::ServerSideSensor::ListenToGBuffer(), carla::streaming::detail::Dispatcher::MakeStream(), carla::streaming::detail::tcp::ServerSession::Open(), carla::opendrive::parser::ControllerParser::Parse(), carla::opendrive::parser::SignalParser::Parse(), carla::image::io::detail::io_resolver::read_image(), carla::streaming::detail::tcp::Client::ReadData(), carla::streaming::detail::Dispatcher::RegisterSession(), carla::Buffer::reset(), carla::client::ServerSideSensor::Send(), carla::client::detail::Simulator::SpawnActor(), carla::streaming::low_level::Server< T >::StartServer(), carla::multigpu::Primary::StartTimer(), carla::streaming::detail::tcp::ServerSession::StartTimer(), carla::client::ServerSideSensor::Stop(), carla::client::RssSensor::Stop(), carla::client::ServerSideSensor::StopGBuffer(), carla::streaming::low_level::Client< T >::UnSubscribe(), carla::traffic_manager::ALSM::UpdateRegisteredActorsData(), carla::streaming::detail::MultiStreamState::Write(), carla::streaming::detail::tcp::ServerSession::Write(), and carla::image::io::detail::io_resolver::write_view().

◆ log_error()

template<typename ... Args>
static void carla::log_error ( Args &&...  args)
inlinestatic

Definition at line 110 of file Logging.h.

References carla::logging::write_to_stream().

Referenced by carla::ros2::AckermannControlSubscriber::AckermannControlSubscriber(), carla::ros2::FastDDSSharedParticipant::acquire(), carla::client::ActorAttributeValueAccess::As< sensor::data::Color >(), carla::client::RssSensor::AppendRoutingTarget(), carla::ros2::AutowareControlSubscriber::AutowareControlSubscriber(), carla::ros2::AutowareGNSSPublisher::AutowareGNSSPublisher(), carla::ros2::AutowareVehicleStatusPublisher::AutowareVehicleStatusPublisher(), carla::ros2::CarlaCameraPublisher::CarlaCameraPublisher(), carla::ros2::CarlaClockPublisher::CarlaClockPublisher(), carla::ros2::CarlaCollisionPublisher::CarlaCollisionPublisher(), carla::ros2::CarlaEgoVehicleControlSubscriber::CarlaEgoVehicleControlSubscriber(), carla::ros2::CarlaGNSSPublisher::CarlaGNSSPublisher(), carla::ros2::CarlaIMUPublisher::CarlaIMUPublisher(), carla::ros2::CarlaPointCloudPublisher::CarlaPointCloudPublisher(), carla::ros2::CarlaTransformPublisher::CarlaTransformPublisher(), carla::ros2::MiddlewareFactory::CreatePublisher(), carla::ros2::MiddlewareFactory::CreateSubscriber(), carla::client::detail::Client::DestroyActor(), FCarlaEngine::DetachFromPrimary(), carla::ros2::ROS2::Enable(), carla::multigpu::PrimaryCommands::EnableForROS(), carla::ros2::PublisherImpl< Traits >::EnsureMiddleware(), carla::ros2::SubscriberImpl< Traits >::EnsureMiddleware(), carla::client::RssSensor::GetEgoVehicleDynamics(), carla::ros2::ROS2::GetOrCreateCameraSensor(), carla::ros2::ROS2::GetOrCreateSensor(), carla::client::RssSensor::GetOtherVehicleDynamics(), carla::client::RssSensor::GetPedestrianDynamics(), carla::client::RssSensor::GetRoadBoundariesMode(), carla::client::RssSensor::GetRoutingTargets(), carla::ros2::FastDDSPublisherMiddleware< T >::InitImpl(), carla::ros2::FastDDSSubscriberMiddleware< S >::InitImpl(), carla::client::detail::Episode::Listen(), carla::client::LaneInvasionSensor::Listen(), carla::client::RssSensor::Listen(), carla::opendrive::OpenDriveParser::Load(), FCarlaEngine::NotifyEndEpisode(), FCarlaEngine::NotifyInitGame(), carla::ros2::FastDDSSubscriberMiddleware< S >::on_data_available(), carla::client::detail::Episode::OnEpisodeChanged(), carla::streaming::detail::tcp::ServerSession::Open(), carla::multigpu::Listener::OpenSession(), carla::streaming::detail::tcp::Server::OpenSession(), carla::client::detail::GarbageCollector::operator()(), carla::multigpu::SecondaryCommands::process_command(), carla::ros2::ROS2::ProcessDataFromAutowareGNSS(), carla::ros2::ROS2::ProcessDataFromStatusSensor(), carla::ros2::PublisherImpl< Traits >::Publish(), carla::ros2::FastDDSPublisherMiddleware< T >::Publish(), carla::multigpu::Primary::ReadData(), carla::multigpu::Secondary::ReadData(), carla::streaming::detail::tcp::Client::ReadData(), carla::client::RssSensor::RegisterActorConstellationCallback(), carla::streaming::detail::Dispatcher::RegisterSession(), carla::multigpu::Router::RejectPromise(), carla::ros2::FastDDSSharedParticipant::release(), carla::client::RssSensor::ResetRoutingTargets(), carla::traffic_manager::InMemoryMap::Save(), carla::multigpu::PrimaryCommands::SendDisableForROS(), carla::multigpu::PrimaryCommands::SendEnableForROS(), carla::multigpu::PrimaryCommands::SendGetToken(), carla::multigpu::PrimaryCommands::SendIsAlive(), carla::multigpu::PrimaryCommands::SendIsEnabledForROS(), carla::client::RssSensor::SetEgoVehicleDynamics(), carla::client::RssSensor::SetLogLevel(), carla::client::RssSensor::SetMapLogLevel(), carla::client::RssSensor::SetOtherVehicleDynamics(), carla::client::RssSensor::SetPedestrianDynamics(), carla::client::RssSensor::SetRoadBoundariesMode(), carla::traffic_manager::TrafficManagerLocal::SetSynchronousMode(), carla::multigpu::Primary::StartTimer(), carla::client::RssSensor::Stop(), carla::multigpu::Primary::WriteNext(), carla::multigpu::Secondary::WriteNext(), carla::streaming::detail::Dispatcher::~Dispatcher(), carla::client::detail::Episode::~Episode(), carla::client::LightManager::~LightManager(), and carla::client::ServerSideSensor::~ServerSideSensor().

◆ log_info()

template<typename ... Args>
static void carla::log_info ( Args &&...  args)
inlinestatic

◆ log_warning()

template<typename ... Args>
static void carla::log_warning ( Args &&...  args)
inlinestatic

Definition at line 96 of file Logging.h.

References carla::logging::write_to_stream().

Referenced by carla::client::World::ApplySettings(), UCarSimManagerComponent::BeginPlay(), carla::multigpu::SensorStreamRegistry::Bind(), UChronoMovementComponent::DisableChronoPhysics(), UBaseCarlaMovementComponent::EnableUE4VehiclePhysics(), AOpenDriveGenerator::GenerateLaneMarkings(), AOpenDriveGenerator::GenerateRoadMesh(), carla::multigpu::PrimaryCommands::GetToken(), carla::client::WalkerAIController::GoToLocation(), carla::multigpu::Router::HandleResponse(), ATrafficLightManager::InitializeTrafficLights(), carla::client::ServerSideSensor::ListenToGBuffer(), carla::traffic_manager::InMemoryMap::Load(), carla::client::detail::Simulator::LoadEpisode(), UCarlaEpisode::LoadNewOpendriveEpisode(), ATrafficLightManager::MatchTrafficLightActorsWithOpenDriveSignals(), FCarlaEngine::NotifyEndEpisode(), FCarlaEngine::NotifyInitGame(), FCarlaEngine::OnBeginFrame(), UCarSimManagerComponent::OnCarSimHit(), UCarSimManagerComponent::OnCarSimOverlap(), FCarlaEngine::PlayPrimaryFrame(), carla::multigpu::SecondaryCommands::process_command(), carla::ros2::ROS2::ProcessDataFromStatusSensor(), carla::multigpu::PrimaryCommands::RerouteLostSensors(), carla::multigpu::SensorStreamRegistry::Resolve(), carla::multigpu::PrimaryCommands::RestoreRosAfterReroute(), carla::client::LightManager::RetrieveLightState(), Benchmark::Run(), carla::client::ServerSideSensor::Send(), carla::multigpu::PrimaryCommands::SendGetToken(), carla::client::detail::Simulator::SetEpisodeSettings(), carla::client::WalkerAIController::SetMaxSpeed(), carla::traffic_manager::TrafficManagerLocal::SetupLocalMap(), ATrafficLightManager::SpawnSignals(), ATrafficLightManager::SpawnTrafficLights(), carla::client::WalkerAIController::Start(), carla::client::WalkerAIController::Stop(), carla::client::ServerSideSensor::Stop(), carla::client::ServerSideSensor::StopGBuffer(), carla::client::detail::ValidateVersions(), and carla::client::ServerSideSensor::~ServerSideSensor().

◆ MakeListView() [1/2]

template<typename Container >
static auto carla::MakeListView ( Container &  c)
inlinestatic

Definition at line 83 of file LibCarla/source/carla/ListView.h.

References MakeListView().

◆ MakeListView() [2/2]

template<typename Iterator >
static auto carla::MakeListView ( Iterator  begin,
Iterator  end 
)
inlinestatic

Definition at line 78 of file LibCarla/source/carla/ListView.h.

References MakeListView().

Referenced by MakeListView(), and MakeListView().

◆ MakeShared()

template<typename T , typename... Args>
static auto carla::MakeShared ( Args &&...  args)
inlinestatic

Definition at line 24 of file Memory.h.

◆ MoveHandler()

template<typename FunctorT >
auto carla::MoveHandler ( FunctorT &&  func)

Hack to trick asio into accepting move-only handlers, if the handler were actually copied it would result in a link error.

See also
https://stackoverflow.com/a/22891509.

Definition at line 33 of file MoveHandler.h.

Referenced by carla::ThreadPool::Post(), and carla::rpc::detail::FunctionWrapper< R(*)(Args...)>::WrapSyncCall().

◆ operator!=()

static bool carla::operator!= ( const Buffer &  lhs,
const Buffer &  rhs 
)
inlinestatic

Definition at line 59 of file test/Buffer.h.

◆ operator<<()

static std::ostream & carla::operator<< ( std::ostream &  out,
const Buffer &  buf 
)
inlinestatic

Definition at line 48 of file test/Buffer.h.

References carla::Buffer::size(), and util::buffer::to_hex_string().

◆ operator==()

static bool carla::operator== ( const Buffer &  lhs,
const Buffer &  rhs 
)
inlinestatic

Definition at line 53 of file test/Buffer.h.

References carla::Buffer::begin(), carla::Buffer::end(), and carla::Buffer::size().

◆ SetCloseOnExecForListeningPort()

void carla::SetCloseOnExecForListeningPort ( uint16_t  Port)
inline

Fallback for listening sockets we have no direct handle to (e.g.

the vendored rpclib server's acceptor, hidden behind a PIMPL with no accessor). Walks this process's open file descriptors and marks close-on-exec any socket bound to Port, on any address family. Linux-only (relies on /proc/self/fd); intentionally not declared on Windows.

Definition at line 60 of file Sockets.h.

References SetSocketCloseOnExec().

Referenced by FCarlaServer::Start().

◆ SetSocketCloseOnExec()

template<typename NativeHandle >
void carla::SetSocketCloseOnExec ( NativeHandle  fd)
inline

Marks a socket file descriptor close-on-exec, so it is not inherited by child processes started via fork+exec (e.g.

RecastBuilder, launched by UCarlaEpisode::LoadNewOpendriveEpisode through FPlatformProcess::CreateProc). Without this, a forked child that outlives the CARLA process keeps the listen socket bound and the next server boot fails in asio's bind(). No-op on Windows, where CreateProcess only inherits handles explicitly marked inheritable (bInheritHandles), which UE's process-spawning calls already leave off.

Definition at line 37 of file Sockets.h.

References fd, and SOCK_INVALID_INDEX.

Referenced by carla::multigpu::Listener::Listener(), carla::streaming::detail::tcp::Server::Server(), and SetCloseOnExecForListeningPort().

◆ throw_exception()

template<typename ExceptionT >
void carla::throw_exception ( const ExceptionT &  e)
inline

Templated on the static type so the thrown object keeps its dynamic type: taking a const std::exception & and throw e; would slice every carla::client error down to a bare std::exception (what() == "std::exception"), losing the server's message.

Definition at line 44 of file Exception.h.

Referenced by carla::client::BlueprintLibrary::at(), carla::sensor::data::Array< T >::at(), carla::client::BlueprintLibrary::at(), carla::sensor::data::Array< T >::at(), carla::Buffer::Buffer(), carla::Buffer::Buffer(), carla::client::detail::Client::Pimpl::CallAndWait(), carla::streaming::detail::tcp::Client::Client(), carla::sensor::s11n::NoopSerializer::Deserialize(), carla::sensor::data::LaneInvasionEvent::GetActor(), carla::client::ActorBlueprint::GetAttribute(), carla::road::Road::GetElevationOn(), carla::road::Road::GetLaneByDistance(), carla::client::RssSensor::Listen(), carla::FileSystem::ListFolder(), carla::client::detail::Simulator::LoadEpisode(), carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), carla::client::MakeMap(), carla::streaming::detail::Dispatcher::MakeStream(), clmdep_msgpack::MSGPACK_API_VERSION_NAMESPACE(), carla::client::detail::Client::Pimpl::RawCall(), carla::client::detail::Simulator::RegisterAIController(), carla::Buffer::reset(), carla::streaming::detail::token_type::set_address(), carla::client::WalkerAIController::Start(), carla::client::WalkerAIController::Stop(), carla::client::detail::Simulator::Tick(), carla::traffic_manager::TrafficManagerServer::TrafficManagerServer(), carla::client::detail::Simulator::UnregisterAIController(), carla::RecurrentSharedFuture< T >::WaitFor(), and carla::client::detail::Simulator::WaitForTick().