summaryrefslogtreecommitdiff
path: root/chromium/net/third_party/quiche/src/quic/qbone/qbone_control_stream.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/third_party/quiche/src/quic/qbone/qbone_control_stream.cc')
-rw-r--r--chromium/net/third_party/quiche/src/quic/qbone/qbone_control_stream.cc86
1 files changed, 0 insertions, 86 deletions
diff --git a/chromium/net/third_party/quiche/src/quic/qbone/qbone_control_stream.cc b/chromium/net/third_party/quiche/src/quic/qbone/qbone_control_stream.cc
deleted file mode 100644
index 61a9afe4de9..00000000000
--- a/chromium/net/third_party/quiche/src/quic/qbone/qbone_control_stream.cc
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright (c) 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "quic/qbone/qbone_control_stream.h"
-
-#include <cstdint>
-#include <limits>
-
-#include "absl/strings/string_view.h"
-#include "quic/core/quic_session.h"
-#include "quic/platform/api/quic_bug_tracker.h"
-#include "quic/qbone/qbone_constants.h"
-
-namespace quic {
-
-namespace {
-static constexpr size_t kRequestSizeBytes = sizeof(uint16_t);
-} // namespace
-
-QboneControlStreamBase::QboneControlStreamBase(QuicSession* session)
- : QuicStream(
- QboneConstants::GetControlStreamId(session->transport_version()),
- session,
- /*is_static=*/true,
- BIDIRECTIONAL),
- pending_message_size_(0) {}
-
-QboneControlStreamBase::QboneControlStreamBase(quic::PendingStream* pending,
- QuicSession* session)
- : QuicStream(pending, session, /*is_static=*/true),
- pending_message_size_(0) {
- QUICHE_DCHECK_EQ(pending->id(), QboneConstants::GetControlStreamId(
- session->transport_version()));
-}
-
-void QboneControlStreamBase::OnDataAvailable() {
- sequencer()->Read(&buffer_);
- while (true) {
- if (pending_message_size_ == 0) {
- // Start of a message.
- if (buffer_.size() < kRequestSizeBytes) {
- return;
- }
- memcpy(&pending_message_size_, buffer_.data(), kRequestSizeBytes);
- buffer_.erase(0, kRequestSizeBytes);
- }
- // Continuation of a message.
- if (buffer_.size() < pending_message_size_) {
- return;
- }
- std::string tmp = buffer_.substr(0, pending_message_size_);
- buffer_.erase(0, pending_message_size_);
- pending_message_size_ = 0;
- OnMessage(tmp);
- }
-}
-
-bool QboneControlStreamBase::SendMessage(const proto2::Message& proto) {
- std::string tmp;
- if (!proto.SerializeToString(&tmp)) {
- QUIC_BUG(quic_bug_11023_1) << "Failed to serialize QboneControlRequest";
- return false;
- }
- if (tmp.size() > std::numeric_limits<uint16_t>::max()) {
- QUIC_BUG(quic_bug_11023_2)
- << "QboneControlRequest too large: " << tmp.size() << " > "
- << std::numeric_limits<uint16_t>::max();
- return false;
- }
- uint16_t size = tmp.size();
- char size_str[kRequestSizeBytes];
- memcpy(size_str, &size, kRequestSizeBytes);
- WriteOrBufferData(absl::string_view(size_str, kRequestSizeBytes), false,
- nullptr);
- WriteOrBufferData(tmp, false, nullptr);
- return true;
-}
-
-void QboneControlStreamBase::OnStreamReset(
- const QuicRstStreamFrame& /*frame*/) {
- stream_delegate()->OnStreamError(QUIC_INVALID_STREAM_ID,
- "Attempt to reset control stream");
-}
-
-} // namespace quic