#include "logging/rtc_event_log/events/rtc_event_field_encoding_parser.h"
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <tuple>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/array_view.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_encoding.h"
#include "logging/rtc_event_log/events/rtc_event_field_extraction.h"
#include "logging/rtc_event_log/events/rtc_event_log_parse_status.h"
#include "rtc_base/bitstream_reader.h"
#include "rtc_base/checks.h"
namespace {
absl::optional<webrtc::FieldType> ConvertFieldType(uint64_t value) { … }
}
namespace webrtc {
uint64_t EventParser::ReadLittleEndian(uint8_t bytes) { … }
uint64_t EventParser::ReadVarInt() { … }
uint64_t EventParser::ReadOptionalValuePositions() { … }
uint64_t EventParser::ReadSingleValue(FieldType field_type) { … }
void EventParser::ReadDeltasAndPopulateValues(
FixedLengthEncodingParametersV3 params,
uint64_t num_deltas,
uint64_t base) { … }
RtcEventLogParseStatus EventParser::Initialize(absl::string_view s,
bool batched) { … }
RtcEventLogParseStatus EventParser::ParseNumericFieldInternal(
uint64_t value_bit_width,
FieldType field_type) { … }
RtcEventLogParseStatus EventParser::ParseStringFieldInternal() { … }
RtcEventLogParseStatus EventParser::ParseField(const FieldParameters& params) { … }
RtcEventLogParseStatusOr<rtc::ArrayView<absl::string_view>>
EventParser::ParseStringField(const FieldParameters& params,
bool required_field) { … }
RtcEventLogParseStatusOr<rtc::ArrayView<uint64_t>>
EventParser::ParseNumericField(const FieldParameters& params,
bool required_field) { … }
RtcEventLogParseStatusOr<EventParser::ValueAndPostionView>
EventParser::ParseOptionalNumericField(const FieldParameters& params,
bool required_field) { … }
}