| Index: net/quic/core/packet_number_indexed_queue.h
|
| diff --git a/net/quic/core/packet_number_indexed_queue.h b/net/quic/core/packet_number_indexed_queue.h
|
| index 677b97102aae582a4370a6b0c383bce57eefada9..84388c2cbbab58d569d15a39af658501aa15fd18 100644
|
| --- a/net/quic/core/packet_number_indexed_queue.h
|
| +++ b/net/quic/core/packet_number_indexed_queue.h
|
| @@ -42,6 +42,7 @@ class PacketNumberIndexedQueue {
|
| // Retrieve the entry associated with the packet number. Returns the pointer
|
| // to the entry in case of success, or nullptr if the entry does not exist.
|
| T* GetEntry(QuicPacketNumber packet_number);
|
| + const T* GetEntry(QuicPacketNumber packet_number) const;
|
|
|
| // Inserts data associated |packet_number| into (or past) the end of the
|
| // queue, filling up the missing intermediate entries as necessary. Returns
|
| @@ -94,7 +95,11 @@ class PacketNumberIndexedQueue {
|
| // Cleans up unused slots in the front after removing an element.
|
| void Cleanup();
|
|
|
| - EntryWrapper* GetEntryWrapper(QuicPacketNumber offset);
|
| + const EntryWrapper* GetEntryWrapper(QuicPacketNumber offset) const;
|
| + EntryWrapper* GetEntryWrapper(QuicPacketNumber offset) {
|
| + const auto* const_this = this;
|
| + return const_cast<EntryWrapper*>(const_this->GetEntryWrapper(offset));
|
| + }
|
|
|
| std::deque<EntryWrapper> entries_;
|
| size_t number_of_present_entries_;
|
| @@ -111,6 +116,16 @@ T* PacketNumberIndexedQueue<T>::GetEntry(QuicPacketNumber packet_number) {
|
| }
|
|
|
| template <typename T>
|
| +const T* PacketNumberIndexedQueue<T>::GetEntry(
|
| + QuicPacketNumber packet_number) const {
|
| + const EntryWrapper* entry = GetEntryWrapper(packet_number);
|
| + if (entry == nullptr) {
|
| + return nullptr;
|
| + }
|
| + return &entry->data;
|
| +}
|
| +
|
| +template <typename T>
|
| template <typename... Args>
|
| bool PacketNumberIndexedQueue<T>::Emplace(QuicPacketNumber packet_number,
|
| Args&&... args) {
|
| @@ -168,8 +183,8 @@ void PacketNumberIndexedQueue<T>::Cleanup() {
|
| }
|
|
|
| template <typename T>
|
| -auto PacketNumberIndexedQueue<T>::GetEntryWrapper(QuicPacketNumber offset)
|
| - -> EntryWrapper* {
|
| +auto PacketNumberIndexedQueue<T>::GetEntryWrapper(QuicPacketNumber offset) const
|
| + -> const EntryWrapper* {
|
| if (offset < first_packet_) {
|
| return nullptr;
|
| }
|
| @@ -179,7 +194,7 @@ auto PacketNumberIndexedQueue<T>::GetEntryWrapper(QuicPacketNumber offset)
|
| return nullptr;
|
| }
|
|
|
| - EntryWrapper* entry = &entries_[offset];
|
| + const EntryWrapper* entry = &entries_[offset];
|
| if (!entry->present) {
|
| return nullptr;
|
| }
|
|
|