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

Side by Side Diff: remoting/base/compound_buffer.h

Issue 1273233002: Implement QuicChannel and QuicChannelFactory (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months 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
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // CompoundBuffer implements a data buffer that is composed of several pieces, 5 // CompoundBuffer implements a data buffer that is composed of several pieces,
6 // each stored in a refcounted IOBuffer. It is needed for encoding/decoding 6 // each stored in a refcounted IOBuffer. It is needed for encoding/decoding
7 // video pipeline to represent data packet and minimize data copying. 7 // video pipeline to represent data packet and minimize data copying.
8 // It is particularly useful for splitting data between multiple RTP packets 8 // It is particularly useful for splitting data between multiple RTP packets
9 // and assembling them into one buffer on the receiving side. 9 // and assembling them into one buffer on the receiving side.
10 // 10 //
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 void Append(net::IOBuffer* buffer, const char* start, int size); 45 void Append(net::IOBuffer* buffer, const char* start, int size);
46 void Append(const CompoundBuffer& buffer); 46 void Append(const CompoundBuffer& buffer);
47 void Prepend(net::IOBuffer* buffer, int size); 47 void Prepend(net::IOBuffer* buffer, int size);
48 void Prepend(net::IOBuffer* buffer, const char* start, int size); 48 void Prepend(net::IOBuffer* buffer, const char* start, int size);
49 void Prepend(const CompoundBuffer& buffer); 49 void Prepend(const CompoundBuffer& buffer);
50 50
51 // Same as above, but creates new IOBuffer and copies the data. 51 // Same as above, but creates new IOBuffer and copies the data.
52 void AppendCopyOf(const char* data, int data_size); 52 void AppendCopyOf(const char* data, int data_size);
53 void PrependCopyOf(const char* data, int data_size); 53 void PrependCopyOf(const char* data, int data_size);
54 54
55 // Copies |buffer_size| bytes to buffer and crops them.
dcaiafa 2015/08/10 23:31:35 Not implemented. Delete?
Sergey Ulanov 2015/08/11 21:34:00 Done.
56 void CopyAndCropFront(char* buffer, int buffer_size);
57
55 // Drop |bytes| bytes from the beginning or the end of the buffer. 58 // Drop |bytes| bytes from the beginning or the end of the buffer.
56 void CropFront(int bytes); 59 void CropFront(int bytes);
57 void CropBack(int bytes); 60 void CropBack(int bytes);
58 61
59 // Current size of the buffer. 62 // Current size of the buffer.
60 int total_bytes() const { return total_bytes_; } 63 int total_bytes() const { return total_bytes_; }
61 64
62 // Locks the buffer. After the buffer is locked, no data can be 65 // Locks the buffer. After the buffer is locked, no data can be
63 // added or removed (content can still be changed if some other 66 // added or removed (content can still be changed if some other
64 // object holds reference to the IOBuffer objects). 67 // object holds reference to the IOBuffer objects).
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 121
119 size_t current_chunk_; 122 size_t current_chunk_;
120 int current_chunk_position_; 123 int current_chunk_position_;
121 int position_; 124 int position_;
122 int last_returned_size_; 125 int last_returned_size_;
123 }; 126 };
124 127
125 } // namespace remoting 128 } // namespace remoting
126 129
127 #endif // REMOTING_BASE_COMPOUND_BUFFER_H_ 130 #endif // REMOTING_BASE_COMPOUND_BUFFER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698