Lines Matching refs:Header
64 // Packet header handling.
65 class Header {
67 Header();
68 ~Header() = default;
75 // Checks whether |response| is a match for this header.
82 Header::Header() {
86 void Header::Set(uint8_t id, uint16_t sequence, Flag flag) {
93 bool Header::Matches(const uint8_t* response) {
127 // Helper for SendData(); sends a single packet and handles the response. |header| specifies
129 ssize_t SendSinglePacketHelper(Header* header, const uint8_t* tx_data, size_t tx_length,
213 Header header;
216 // We often send header-only packets with no data as part of the protocol, so always send at
222 header.Set(id, sequence_, kFlagContinuation);
225 header.Set(id, sequence_, kFlagNone);
228 ssize_t bytes = SendSinglePacketHelper(&header, tx_data, packet_data_length, rx_data,
253 Header* header, const uint8_t* tx_data, size_t tx_length, uint8_t* rx_data,
260 if (!socket_->Send({{header->bytes(), kHeaderSize}, {tx_data, tx_length}})) {
276 *error = "protocol error: incomplete header";
279 } while (!header->Matches(rx_packet_.data()));
305 header->Set(rx_packet_[kIndexId], sequence_, kFlagNone);