blob: 54a5252bb7dd686cd15e8a48ae0bd90b950cb2ed [file] [log] [blame]
QUICHE teama6ef0a62019-03-07 20:34:33 -05001// Copyright (c) 2016 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_stream_frame.h"
6
7#include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
QUICHE teamd9b8aba2019-12-11 10:13:38 -08008#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
QUICHE teama6ef0a62019-03-07 20:34:33 -05009
10namespace quic {
11
12QuicStreamFrame::QuicStreamFrame()
13 : QuicStreamFrame(-1, false, 0, nullptr, 0) {}
14
15QuicStreamFrame::QuicStreamFrame(QuicStreamId stream_id,
16 bool fin,
17 QuicStreamOffset offset,
QUICHE teamd9b8aba2019-12-11 10:13:38 -080018 quiche::QuicheStringPiece data)
QUICHE teama6ef0a62019-03-07 20:34:33 -050019 : QuicStreamFrame(stream_id, fin, offset, data.data(), data.length()) {}
20
21QuicStreamFrame::QuicStreamFrame(QuicStreamId stream_id,
22 bool fin,
23 QuicStreamOffset offset,
24 QuicPacketLength data_length)
25 : QuicStreamFrame(stream_id, fin, offset, nullptr, data_length) {}
26
27QuicStreamFrame::QuicStreamFrame(QuicStreamId stream_id,
28 bool fin,
29 QuicStreamOffset offset,
30 const char* data_buffer,
31 QuicPacketLength data_length)
32 : QuicInlinedFrame(STREAM_FRAME),
33 fin(fin),
34 data_length(data_length),
35 stream_id(stream_id),
36 data_buffer(data_buffer),
37 offset(offset) {}
38
39std::ostream& operator<<(std::ostream& os,
40 const QuicStreamFrame& stream_frame) {
41 os << "{ stream_id: " << stream_frame.stream_id
42 << ", fin: " << stream_frame.fin << ", offset: " << stream_frame.offset
43 << ", length: " << stream_frame.data_length << " }\n";
44 return os;
45}
46
renjietang2a6ba792019-10-22 10:44:58 -070047bool QuicStreamFrame::operator==(const QuicStreamFrame& rhs) const {
48 return fin == rhs.fin && data_length == rhs.data_length &&
49 stream_id == rhs.stream_id && data_buffer == rhs.data_buffer &&
50 offset == rhs.offset;
51}
52
fayang93c83942019-11-07 10:41:16 -080053bool QuicStreamFrame::operator!=(const QuicStreamFrame& rhs) const {
54 return !(*this == rhs);
55}
56
QUICHE teama6ef0a62019-03-07 20:34:33 -050057} // namespace quic