|
CARLA
|
A streaming channel for sending sensor data to clients, supports sending data asynchronously. More...
#include <AsyncDataStream.h>
Public Types | |
| using | StreamType = T |
Public Member Functions | |
| FAsyncDataStreamTmpl (FAsyncDataStreamTmpl &&)=default | |
| double | GetSensorTimestamp () |
| return the timestamp of the sensor | |
| FTransform | GetSensorTransform () |
| return the transform of the sensor | |
| uint64_t | GetSensorType () |
| return the type of sensor of this stream | |
| auto | GetToken () const |
| Return the token that allows subscribing to this stream. | |
| carla::Buffer | PopBufferFromPool () |
| Pop a Buffer from the pool. | |
| template<typename SensorT , typename... ArgsT> | |
| void | Send (SensorT &Sensor, ArgsT &&... Args) |
| Send some data down the stream. | |
| template<typename SensorT , typename... ArgsT> | |
| void | SerializeAndSend (SensorT &Sensor, ArgsT &&... Args) |
| void | SetFrameNumber (uint64_t FrameNumber) |
| allow to change the frame number of the header | |
| void | SetTimestamp (double Timestamp) |
| allow to change the timestamp of the header | |
| void | SetTransform (carla::rpc::Transform Transform) |
| allow to change the transform of the header | |
Private Member Functions | |
| template<typename SensorT > | |
| FAsyncDataStreamTmpl (const SensorT &InSensor, double Timestamp, StreamType InStream) | |
Private Attributes | |
| carla::Buffer | Header |
| StreamType | Stream |
Friends | |
| class | FDataStreamTmpl< T > |
A streaming channel for sending sensor data to clients, supports sending data asynchronously.
Data sent by the "Send" functions is passed to the serializer registered with the sensor at carla::sensor:SensorRegistry before being sent down the stream.
FAsyncDataStream also has a pool of carla::Buffer that allows reusing the allocated memory, use it whenever possible.
Definition at line 37 of file AsyncDataStream.h.
| using FAsyncDataStreamTmpl< T >::StreamType = T |
Definition at line 41 of file AsyncDataStream.h.
|
default |
|
inlineexplicitprivate |
Definition at line 18 of file AsyncDataStreamImpl.h.
References FCarlaEngine::GetFrameCounter().
|
inline |
return the timestamp of the sensor
Definition at line 136 of file AsyncDataStream.h.
|
inline |
return the transform of the sensor
Definition at line 124 of file AsyncDataStream.h.
References carla::Buffer::data(), FAsyncDataStreamTmpl< T >::Header, and carla::sensor::s11n::SensorHeaderSerializer::Header::sensor_transform.
|
inline |
return the type of sensor of this stream
Definition at line 112 of file AsyncDataStream.h.
References carla::Buffer::data(), FAsyncDataStreamTmpl< T >::Header, and carla::sensor::s11n::SensorHeaderSerializer::Header::sensor_type.
|
inline |
Return the token that allows subscribing to this stream.
Definition at line 46 of file AsyncDataStream.h.
References FAsyncDataStreamTmpl< T >::Stream.
|
inline |
Pop a Buffer from the pool.
Buffers in the pool can reuse the memory allocated by previous messages, significantly improving performance for big messages.
Definition at line 54 of file AsyncDataStream.h.
References FAsyncDataStreamTmpl< T >::Stream.
|
inline |
Send some data down the stream.
Definition at line 192 of file AsyncDataStream.h.
References carla::BufferView::CreateFrom(), and FDataStreamTmpl< T >::Stream.
|
inline |
Definition at line 177 of file AsyncDataStream.h.
References carla::BufferView::CreateFrom(), carla::sensor::CompositeSerializer< Items >::Serialize(), and FDataStreamTmpl< T >::Stream.
Referenced by ACollisionSensor::OnCollisionEvent().
|
inline |
allow to change the frame number of the header
Definition at line 67 of file AsyncDataStream.h.
References carla::Buffer::data(), carla::sensor::s11n::SensorHeaderSerializer::Header::frame, FAsyncDataStreamTmpl< T >::Header, carla::log_info(), and carla::sensor::s11n::SensorHeaderSerializer::Header::sensor_type.
|
inline |
allow to change the timestamp of the header
Definition at line 82 of file AsyncDataStream.h.
References carla::Buffer::data(), FAsyncDataStreamTmpl< T >::Header, carla::log_info(), carla::sensor::s11n::SensorHeaderSerializer::Header::sensor_type, and carla::sensor::s11n::SensorHeaderSerializer::Header::timestamp.
|
inline |
allow to change the transform of the header
Definition at line 97 of file AsyncDataStream.h.
References carla::Buffer::data(), FAsyncDataStreamTmpl< T >::Header, carla::log_info(), carla::sensor::s11n::SensorHeaderSerializer::Header::sensor_transform, and carla::sensor::s11n::SensorHeaderSerializer::Header::sensor_type.
|
friend |
Definition at line 136 of file AsyncDataStream.h.
|
private |
|
private |
Definition at line 158 of file AsyncDataStream.h.
Referenced by FAsyncDataStreamTmpl< T >::GetToken(), and FAsyncDataStreamTmpl< T >::PopBufferFromPool().