OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 toy server, which listens on a specified address for QUIC traffic and | 5 // A toy server, which listens on a specified address for QUIC traffic and |
6 // handles incoming responses. | 6 // handles incoming responses. |
7 // | 7 // |
8 // Note that this server is intended to verify correctness of the client and is | 8 // Note that this server is intended to verify correctness of the client and is |
9 // in no way expected to be performant. | 9 // in no way expected to be performant. |
10 | 10 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 | 106 |
107 // If overflow_supported_ is true this will be the number of packets dropped | 107 // If overflow_supported_ is true this will be the number of packets dropped |
108 // during the lifetime of the server. This may overflow if enough packets | 108 // during the lifetime of the server. This may overflow if enough packets |
109 // are dropped. | 109 // are dropped. |
110 QuicPacketCount packets_dropped_; | 110 QuicPacketCount packets_dropped_; |
111 | 111 |
112 // True if the kernel supports SO_RXQ_OVFL, the number of packets dropped | 112 // True if the kernel supports SO_RXQ_OVFL, the number of packets dropped |
113 // because the socket would otherwise overflow. | 113 // because the socket would otherwise overflow. |
114 bool overflow_supported_; | 114 bool overflow_supported_; |
115 | 115 |
116 // If true, use recvmmsg for reading. | |
117 bool use_recvmmsg_; | |
118 | |
119 // config_ contains non-crypto parameters that are negotiated in the crypto | 116 // config_ contains non-crypto parameters that are negotiated in the crypto |
120 // handshake. | 117 // handshake. |
121 QuicConfig config_; | 118 QuicConfig config_; |
122 // crypto_config_ contains crypto parameters for the handshake. | 119 // crypto_config_ contains crypto parameters for the handshake. |
123 QuicCryptoServerConfig crypto_config_; | 120 QuicCryptoServerConfig crypto_config_; |
124 // crypto_config_options_ contains crypto parameters for the handshake. | 121 // crypto_config_options_ contains crypto parameters for the handshake. |
125 QuicCryptoServerConfig::ConfigOptions crypto_config_options_; | 122 QuicCryptoServerConfig::ConfigOptions crypto_config_options_; |
126 | 123 |
127 // This vector contains QUIC versions which we currently support. | 124 // This vector contains QUIC versions which we currently support. |
128 // This should be ordered such that the highest supported version is the first | 125 // This should be ordered such that the highest supported version is the first |
129 // element, with subsequent elements in descending order (versions can be | 126 // element, with subsequent elements in descending order (versions can be |
130 // skipped as necessary). | 127 // skipped as necessary). |
131 QuicVersionVector supported_versions_; | 128 QuicVersionVector supported_versions_; |
132 | 129 |
133 // Point to a QuicPacketReader object on the heap. The reader allocates more | 130 // Point to a QuicPacketReader object on the heap. The reader allocates more |
134 // space than allowed on the stack. | 131 // space than allowed on the stack. |
135 scoped_ptr<QuicPacketReader> packet_reader_; | 132 scoped_ptr<QuicPacketReader> packet_reader_; |
136 | 133 |
137 DISALLOW_COPY_AND_ASSIGN(QuicServer); | 134 DISALLOW_COPY_AND_ASSIGN(QuicServer); |
138 }; | 135 }; |
139 | 136 |
140 } // namespace net | 137 } // namespace net |
141 | 138 |
142 #endif // NET_TOOLS_QUIC_QUIC_SERVER_H_ | 139 #endif // NET_TOOLS_QUIC_QUIC_SERVER_H_ |
OLD | NEW |