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

Side by Side Diff: net/tools/quic/quic_packet_reader.h

Issue 1633373002: relnote: moves ProcessPacketInterface from quic_dispatcher.h to (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « net/tools/quic/quic_dispatcher.h ('k') | net/tools/quic/quic_packet_reader.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 // A class to read incoming QUIC packets from the UDP socket. 5 // A class to read incoming QUIC packets from the UDP socket.
6 6
7 #ifndef NET_TOOLS_QUIC_QUIC_PACKET_READER_H_ 7 #ifndef NET_TOOLS_QUIC_QUIC_PACKET_READER_H_
8 #define NET_TOOLS_QUIC_QUIC_PACKET_READER_H_ 8 #define NET_TOOLS_QUIC_QUIC_PACKET_READER_H_
9 9
10 #include <netinet/in.h> 10 #include <netinet/in.h>
11 #include <sys/socket.h> 11 #include <sys/socket.h>
12 12
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "net/quic/quic_protocol.h" 14 #include "net/quic/quic_protocol.h"
15 15
16 namespace net { 16 namespace net {
17 17
18 namespace tools { 18 namespace tools {
19 19
20 // Read in larger batches to minimize recvmmsg overhead. 20 // Read in larger batches to minimize recvmmsg overhead.
21 const int kNumPacketsPerReadMmsgCall = 16; 21 const int kNumPacketsPerReadMmsgCall = 16;
22 // Allocate space for in6_pktinfo as it's larger than in_pktinfo 22 // Allocate space for in6_pktinfo as it's larger than in_pktinfo
23 const int kSpaceForOverflowAndIp = 23 const int kSpaceForOverflowAndIp =
24 CMSG_SPACE(sizeof(int)) + CMSG_SPACE(sizeof(in6_pktinfo)); 24 CMSG_SPACE(sizeof(int)) + CMSG_SPACE(sizeof(in6_pktinfo));
25 25
26 namespace test { 26 namespace test {
27 class QuicServerPeer; 27 class QuicServerPeer;
28 } // namespace test 28 } // namespace test
29 29
30 class ProcessPacketInterface;
31 class QuicDispatcher; 30 class QuicDispatcher;
32 31
32 class ProcessPacketInterface {
33 public:
34 virtual ~ProcessPacketInterface() {}
35 virtual void ProcessPacket(const IPEndPoint& server_address,
36 const IPEndPoint& client_address,
37 const QuicEncryptedPacket& packet) = 0;
38 };
39
33 class QuicPacketReader { 40 class QuicPacketReader {
34 public: 41 public:
35 QuicPacketReader(); 42 QuicPacketReader();
36 43
37 virtual ~QuicPacketReader(); 44 virtual ~QuicPacketReader();
38 45
39 // Reads a number of packets from the given fd, and then passes them off to 46 // Reads a number of packets from the given fd, and then passes them off to
40 // the PacketProcessInterface. Returns true if there may be additional 47 // the PacketProcessInterface. Returns true if there may be additional
41 // packets available on the socket. 48 // packets available on the socket.
42 // Populates |packets_dropped| if it is non-null and the socket is configured 49 // Populates |packets_dropped| if it is non-null and the socket is configured
(...skipping 28 matching lines...) Expand all
71 // call on the packets. 78 // call on the packets.
72 struct sockaddr_storage raw_address_[kNumPacketsPerReadMmsgCall]; 79 struct sockaddr_storage raw_address_[kNumPacketsPerReadMmsgCall];
73 80
74 DISALLOW_COPY_AND_ASSIGN(QuicPacketReader); 81 DISALLOW_COPY_AND_ASSIGN(QuicPacketReader);
75 }; 82 };
76 83
77 } // namespace tools 84 } // namespace tools
78 } // namespace net 85 } // namespace net
79 86
80 #endif // NET_TOOLS_QUIC_QUIC_PACKET_READER_H_ 87 #endif // NET_TOOLS_QUIC_QUIC_PACKET_READER_H_
OLDNEW
« no previous file with comments | « net/tools/quic/quic_dispatcher.h ('k') | net/tools/quic/quic_packet_reader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698