blob: 196f6e90f95ea96373f0ca2f3e9361939982cadc [file] [log] [blame]
QUICHE teama6ef0a62019-03-07 20:34:33 -05001// Copyright (c) 2018 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "net/third_party/quiche/src/quic/core/frames/quic_message_frame.h"
6
7#include "net/third_party/quiche/src/quic/core/quic_constants.h"
8#include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
wub553a9662019-03-28 20:13:23 -07009#include "net/third_party/quiche/src/quic/platform/api/quic_mem_slice.h"
QUICHE teama6ef0a62019-03-07 20:34:33 -050010
11namespace quic {
12
13QuicMessageFrame::QuicMessageFrame()
14 : message_id(0), data(nullptr), message_length(0) {}
15
16QuicMessageFrame::QuicMessageFrame(QuicMessageId message_id)
17 : message_id(message_id), data(nullptr), message_length(0) {}
18
wub553a9662019-03-28 20:13:23 -070019QuicMessageFrame::QuicMessageFrame(QuicMessageId message_id,
20 QuicMemSliceSpan span)
21 : message_id(message_id), data(nullptr), message_length(0) {
22 span.ConsumeAll([&](QuicMemSlice slice) {
23 message_length += slice.length();
24 message_data.push_back(std::move(slice));
25 });
26}
27
QUICHE teama6ef0a62019-03-07 20:34:33 -050028QuicMessageFrame::QuicMessageFrame(const char* data, QuicPacketLength length)
29 : message_id(0), data(data), message_length(length) {}
30
31QuicMessageFrame::~QuicMessageFrame() {}
32
33std::ostream& operator<<(std::ostream& os, const QuicMessageFrame& s) {
34 os << " message_id: " << s.message_id
35 << ", message_length: " << s.message_length << " }\n";
36 return os;
37}
38
39} // namespace quic