#include "logging/rtc_event_log/events/rtc_event_field_encoding.h"
#include <cstddef>
#include <cstdint>
#include <limits>
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/array_view.h"
#include "api/rtc_event_log/rtc_event.h"
#include "logging/rtc_event_log/encoder/bit_writer.h"
#include "logging/rtc_event_log/encoder/var_int.h"
#include "logging/rtc_event_log/events/fixed_length_encoding_parameters_v3.h"
#include "logging/rtc_event_log/events/rtc_event_field_extraction.h"
#include "rtc_base/checks.h"
UnsignedDelta;
namespace {
std::string SerializeLittleEndian(uint64_t value, uint8_t bytes) { … }
}
namespace webrtc {
std::string EncodeOptionalValuePositions(std::vector<bool> positions) { … }
std::string EncodeSingleValue(uint64_t value, FieldType field_type) { … }
absl::optional<FieldType> ConvertFieldType(uint64_t value) { … }
std::string EncodeDeltasV3(FixedLengthEncodingParametersV3 params,
uint64_t base,
rtc::ArrayView<const uint64_t> values) { … }
EventEncoder::EventEncoder(EventParameters params,
rtc::ArrayView<const RtcEvent*> batch) { … }
void EventEncoder::EncodeField(const FieldParameters& params,
const ValuesWithPositions& values) { … }
void EventEncoder::EncodeField(const FieldParameters& params,
const std::vector<uint64_t>& values,
const std::vector<bool>* positions) { … }
void EventEncoder::EncodeField(const FieldParameters& params,
const std::vector<absl::string_view>& values) { … }
std::string EventEncoder::AsString() { … }
}