Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1257)

Side by Side Diff: net/quic/core/frames/quic_stream_frame.cc

Issue 2547583002: Landing Recent QUIC changes until Fri Nov 18 23:21:04 2016 +0000 (Closed)
Patch Set: Remove explicit HTTP/2 enum usage Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // 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/quic/core/frames/quic_stream_frame.h"
6
7 #include "base/logging.h"
8
9 using base::StringPiece;
10 using std::ostream;
11
12 namespace net {
13
14 void StreamBufferDeleter::operator()(char* buffer) const {
15 if (allocator_ != nullptr && buffer != nullptr) {
16 allocator_->Delete(buffer);
17 }
18 }
19
20 UniqueStreamBuffer NewStreamBuffer(QuicBufferAllocator* allocator,
21 size_t size) {
22 return UniqueStreamBuffer(allocator->New(size),
23 StreamBufferDeleter(allocator));
24 }
25
26 QuicStreamFrame::QuicStreamFrame()
27 : QuicStreamFrame(0, false, 0, nullptr, 0, nullptr) {}
28
29 QuicStreamFrame::QuicStreamFrame(QuicStreamId stream_id,
30 bool fin,
31 QuicStreamOffset offset,
32 StringPiece data)
33 : QuicStreamFrame(stream_id,
34 fin,
35 offset,
36 data.data(),
37 data.length(),
38 nullptr) {}
39
40 QuicStreamFrame::QuicStreamFrame(QuicStreamId stream_id,
41 bool fin,
42 QuicStreamOffset offset,
43 QuicPacketLength data_length,
44 UniqueStreamBuffer buffer)
45 : QuicStreamFrame(stream_id,
46 fin,
47 offset,
48 nullptr,
49 data_length,
50 std::move(buffer)) {
51 DCHECK(this->buffer != nullptr);
52 DCHECK_EQ(data_buffer, this->buffer.get());
53 }
54
55 QuicStreamFrame::QuicStreamFrame(QuicStreamId stream_id,
56 bool fin,
57 QuicStreamOffset offset,
58 const char* data_buffer,
59 QuicPacketLength data_length,
60 UniqueStreamBuffer buffer)
61 : stream_id(stream_id),
62 fin(fin),
63 data_length(data_length),
64 data_buffer(data_buffer),
65 offset(offset),
66 buffer(std::move(buffer)) {
67 if (this->buffer != nullptr) {
68 DCHECK(data_buffer == nullptr);
69 this->data_buffer = this->buffer.get();
70 }
71 }
72
73 QuicStreamFrame::~QuicStreamFrame() {}
74
75 ostream& operator<<(ostream& os, const QuicStreamFrame& stream_frame) {
76 os << "{ stream_id: " << stream_frame.stream_id
77 << ", fin: " << stream_frame.fin << ", offset: " << stream_frame.offset
78 << ", length: " << stream_frame.data_length << " }\n";
79 return os;
80 }
81
82 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/frames/quic_stream_frame.h ('k') | net/quic/core/frames/quic_window_update_frame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698