#include "remoting/base/protobuf_http_stream_parser.h"
#include <string.h>
#include "base/logging.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/stringprintf.h"
#include "net/base/io_buffer.h"
#include "remoting/base/protobuf_http_client_messages.pb.h"
#include "remoting/base/protobuf_http_status.h"
#include "third_party/protobuf/src/google/protobuf/io/coded_stream.h"
#include "third_party/protobuf/src/google/protobuf/wire_format_lite.h"
namespace remoting {
namespace {
WireFormatLite;
constexpr int kReadBufferSpareCapacity = …;
}
ProtobufHttpStreamParser::ProtobufHttpStreamParser(
const MessageCallback& message_callback,
StreamClosedCallback stream_closed_callback)
: … { … }
ProtobufHttpStreamParser::~ProtobufHttpStreamParser() = default;
void ProtobufHttpStreamParser::Append(std::string_view data) { … }
bool ProtobufHttpStreamParser::HasPendingData() const { … }
void ProtobufHttpStreamParser::ParseStreamIfAvailable() { … }
bool ProtobufHttpStreamParser::ParseOneField(
google::protobuf::io::CodedInputStream* input_stream) { … }
bool ProtobufHttpStreamParser::ValidateWireType(
int field_number,
WireFormatLite::WireType wire_type) { … }
}