CARLA
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions | Variables
frameDataCodec.h File Reference
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <exception>
#include <istream>
#include <optional>
#include <ostream>
#include <streambuf>
#include <string>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

class  carla::multigpu::BoundedReader
 Reads the fields of one packet (or one record inside it) without ever consuming more than its declared size. More...
 
struct  carla::multigpu::FrameDataReadResult
 
class  carla::multigpu::detail::PayloadBuffer
 Read-only stream buffer over one packet's payload. More...
 

Namespaces

namespace  carla
 This file contains definitions of common data structures used in traffic manager.
 
namespace  carla::multigpu
 
namespace  carla::multigpu::detail
 

Enumerations

enum class  carla::multigpu::FrameDataStatus : uint8_t {
  carla::multigpu::Ok , carla::multigpu::TruncatedHeader , carla::multigpu::TruncatedPayload , carla::multigpu::ShortPacket ,
  carla::multigpu::ReaderError , carla::multigpu::MissingFrameCounter , carla::multigpu::Inconsistent
}
 

Functions

const char * carla::multigpu::FrameDataStatusName (FrameDataStatus status)
 
template<typename ReadPacket >
FrameDataReadResult carla::multigpu::ReadFrameData (const uint8_t *data, std::size_t size, ReadPacket &&read_packet)
 Walks the packets of one frame.
 
template<typename T >
bool carla::multigpu::detail::ReadPod (std::istream &in, T &value)
 
void carla::multigpu::WriteField (std::ostream &out, uint8_t kind, const std::string &value)
 
void carla::multigpu::WriteFixedListHeader (std::ostream &out, uint32_t count, uint16_t record_size)
 Header of a list of fixed-size records.
 
void carla::multigpu::WriteFrameDataHeader (std::ostream &out, uint8_t id, uint32_t payload_size)
 
void carla::multigpu::WriteFrameDataPacket (std::ostream &out, uint8_t id, const std::string &payload)
 Writes a packet whose payload was built beforehand.
 
template<typename T >
void carla::multigpu::detail::WritePod (std::ostream &out, const T &value)
 
void carla::multigpu::WriteSizedBytes (std::ostream &out, const std::string &bytes)
 One [u32 size][bytes] entry: a variable-size record or, after a kind byte, a TLV value.
 

Variables

constexpr uint8_t carla::multigpu::kFrameCounterPacketId = 18u
 Id of the frame counter packet, the last packet of every complete frame.
 
constexpr std::size_t carla::multigpu::kFrameDataHeaderSize = 5u
 Frame data (the SEND_FRAME payload) is a sequence of packets [uint8 id][uint32 payload size][payload] in host byte order.
 
constexpr uint8_t carla::multigpu::kMultiGpuProtocolVersion = 1u
 Version of the whole Multi-GPU wire format, carried in every frame.