blob: 054303ac1ee36e785f8acd490aa9794c12dc27a8 [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
QUICHE team5be974e2020-12-29 18:35:24 -05005#include "quic/core/frames/quic_message_frame.h"
QUICHE teama6ef0a62019-03-07 20:34:33 -05006
QUICHE team5be974e2020-12-29 18:35:24 -05007#include "quic/core/quic_constants.h"
8#include "quic/platform/api/quic_logging.h"
9#include "quic/platform/api/quic_mem_slice.h"
QUICHE teama6ef0a62019-03-07 20:34:33 -050010
11namespace quic {
12
QUICHE teama6ef0a62019-03-07 20:34:33 -050013QuicMessageFrame::QuicMessageFrame(QuicMessageId message_id)
14 : message_id(message_id), data(nullptr), message_length(0) {}
15
wub553a9662019-03-28 20:13:23 -070016QuicMessageFrame::QuicMessageFrame(QuicMessageId message_id,
17 QuicMemSliceSpan span)
18 : message_id(message_id), data(nullptr), message_length(0) {
19 span.ConsumeAll([&](QuicMemSlice slice) {
20 message_length += slice.length();
21 message_data.push_back(std::move(slice));
22 });
23}
24
QUICHE teama6ef0a62019-03-07 20:34:33 -050025QuicMessageFrame::QuicMessageFrame(const char* data, QuicPacketLength length)
26 : message_id(0), data(data), message_length(length) {}
27
28QuicMessageFrame::~QuicMessageFrame() {}
29
30std::ostream& operator<<(std::ostream& os, const QuicMessageFrame& s) {
31 os << " message_id: " << s.message_id
32 << ", message_length: " << s.message_length << " }\n";
33 return os;
34}
35
36} // namespace quic