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

Side by Side Diff: net/tools/quic/test_tools/quic_test_client.h

Issue 2470353002: Remove any use of BalsaHeaders and HttpMessage from QuicTestClient. (Closed)
Patch Set: Fix Created 4 years, 1 month 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/end_to_end_test.cc ('k') | net/tools/quic/test_tools/quic_test_client.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 (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 #ifndef NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_ 5 #ifndef NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_
6 #define NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_ 6 #define NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
11 #include <cstdint> 11 #include <cstdint>
12 #include <memory> 12 #include <memory>
13 #include <string> 13 #include <string>
14 14
15 #include "base/macros.h" 15 #include "base/macros.h"
16 #include "net/base/ip_address.h" 16 #include "net/base/ip_address.h"
17 #include "net/base/ip_endpoint.h" 17 #include "net/base/ip_endpoint.h"
18 #include "net/quic/core/proto/cached_network_parameters.pb.h" 18 #include "net/quic/core/proto/cached_network_parameters.pb.h"
19 #include "net/quic/core/quic_framer.h" 19 #include "net/quic/core/quic_framer.h"
20 #include "net/quic/core/quic_packet_creator.h" 20 #include "net/quic/core/quic_packet_creator.h"
21 #include "net/quic/core/quic_protocol.h" 21 #include "net/quic/core/quic_protocol.h"
22 #include "net/tools/balsa/balsa_frame.h"
23 #include "net/tools/epoll_server/epoll_server.h" 22 #include "net/tools/epoll_server/epoll_server.h"
24 #include "net/tools/quic/quic_client.h" 23 #include "net/tools/quic/quic_client.h"
25 #include "testing/gmock/include/gmock/gmock.h" 24 #include "testing/gmock/include/gmock/gmock.h"
26 25
27 using base::StringPiece; 26 using base::StringPiece;
28 27
29 namespace net { 28 namespace net {
30 29
31 class ProofVerifier; 30 class ProofVerifier;
32 31
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 QuicAckListenerInterface* delegate); 121 QuicAckListenerInterface* delegate);
123 122
124 // Clears any outstanding state and sends a simple GET of 'uri' to the 123 // Clears any outstanding state and sends a simple GET of 'uri' to the
125 // server. Returns 0 if the request failed and no bytes were written. 124 // server. Returns 0 if the request failed and no bytes were written.
126 ssize_t SendRequest(const std::string& uri); 125 ssize_t SendRequest(const std::string& uri);
127 // Sends requests for all the urls and waits for the responses. To process 126 // Sends requests for all the urls and waits for the responses. To process
128 // the individual responses as they are returned, the caller should use the 127 // the individual responses as they are returned, the caller should use the
129 // set the response_listener on the client(). 128 // set the response_listener on the client().
130 void SendRequestsAndWaitForResponses( 129 void SendRequestsAndWaitForResponses(
131 const std::vector<std::string>& url_list); 130 const std::vector<std::string>& url_list);
132 ssize_t SendMessage(const HTTPMessage& message); 131 // Sends a request containing |headers| and |body| and returns the number of
133 std::string SendCustomSynchronousRequest(const HTTPMessage& message); 132 // bytes sent (the size of the serialized request headers and body).
133 ssize_t SendMessage(const SpdyHeaderBlock& headers, base::StringPiece body);
134 // Sends a request containing |headers| and |body| with the fin bit set to
135 // |fin| and returns the number of bytes sent (the size of the serialized
136 // request headers and body).
137 ssize_t SendMessage(const SpdyHeaderBlock& headers,
138 base::StringPiece body,
139 bool fin);
140 // Sends a request containing |headers| and |body|, waits for the response,
141 // and returns the response body.
142 std::string SendCustomSynchronousRequest(const SpdyHeaderBlock& headers,
143 const std::string& body);
144 // Sends a GET request for |uri|, waits for the response, and returns the
145 // response body.
134 std::string SendSynchronousRequest(const std::string& uri); 146 std::string SendSynchronousRequest(const std::string& uri);
135 void Connect(); 147 void Connect();
136 void ResetConnection(); 148 void ResetConnection();
137 void Disconnect(); 149 void Disconnect();
138 IPEndPoint local_address() const; 150 IPEndPoint local_address() const;
139 void ClearPerRequestState(); 151 void ClearPerRequestState();
140 bool WaitUntil(int timeout_ms, std::function<bool()> trigger); 152 bool WaitUntil(int timeout_ms, std::function<bool()> trigger);
141 ssize_t Send(const void* buffer, size_t size); 153 ssize_t Send(const void* buffer, size_t size);
142 bool response_complete() const; 154 bool response_complete() const;
143 bool response_headers_complete() const; 155 bool response_headers_complete() const;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 void UseConnectionId(QuicConnectionId connection_id); 211 void UseConnectionId(QuicConnectionId connection_id);
200 212
201 // Update internal stream_ pointer and perform accompanying housekeeping. 213 // Update internal stream_ pointer and perform accompanying housekeeping.
202 void SetStream(QuicSpdyClientStream* stream); 214 void SetStream(QuicSpdyClientStream* stream);
203 // Returns nullptr if the maximum number of streams have already been created. 215 // Returns nullptr if the maximum number of streams have already been created.
204 QuicSpdyClientStream* GetOrCreateStream(); 216 QuicSpdyClientStream* GetOrCreateStream();
205 217
206 // Calls GetOrCreateStream(), sends the request on the stream, and 218 // Calls GetOrCreateStream(), sends the request on the stream, and
207 // stores the request in case it needs to be resent. If |headers| is 219 // stores the request in case it needs to be resent. If |headers| is
208 // null, only the body will be sent on the stream. 220 // null, only the body will be sent on the stream.
209 ssize_t GetOrCreateStreamAndSendRequest(const BalsaHeaders* headers, 221 ssize_t GetOrCreateStreamAndSendRequest(const SpdyHeaderBlock* headers,
210 StringPiece body, 222 base::StringPiece body,
211 bool fin, 223 bool fin,
212 QuicAckListenerInterface* delegate); 224 QuicAckListenerInterface* delegate);
213 225
214 QuicRstStreamErrorCode stream_error() { return stream_error_; } 226 QuicRstStreamErrorCode stream_error() { return stream_error_; }
215 QuicErrorCode connection_error(); 227 QuicErrorCode connection_error();
216 228
217 MockableQuicClient* client(); 229 MockableQuicClient* client();
218 230
219 // cert_common_name returns the common name value of the server's certificate, 231 // cert_common_name returns the common name value of the server's certificate,
220 // or the empty string if no certificate was presented. 232 // or the empty string if no certificate was presented.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 289
278 ~TestClientDataToResend() override {} 290 ~TestClientDataToResend() override {}
279 291
280 void Resend() override; 292 void Resend() override;
281 293
282 protected: 294 protected:
283 QuicTestClient* test_client_; 295 QuicTestClient* test_client_;
284 QuicAckListenerInterface* delegate_; 296 QuicAckListenerInterface* delegate_;
285 }; 297 };
286 298
287 // Given a uri, creates a simple HTTPMessage request message for testing. 299 // Given |uri|, populates the fields in |headers| for a simple GET
288 static void FillInRequest(const std::string& uri, HTTPMessage* message); 300 // request. If |uri| is a relative URL, the QuicServerId will be
301 // use to specify the authority.
302 bool PopulateHeaderBlockFromUrl(const std::string& uri,
303 SpdyHeaderBlock* headers);
289 304
290 bool HaveActiveStream(); 305 bool HaveActiveStream();
291 306
292 EpollServer epoll_server_; 307 EpollServer epoll_server_;
293 std::unique_ptr<MockableQuicClient> client_; // The actual client 308 std::unique_ptr<MockableQuicClient> client_; // The actual client
294 QuicSpdyClientStream* stream_; 309 QuicSpdyClientStream* stream_;
295 310
296 QuicRstStreamErrorCode stream_error_; 311 QuicRstStreamErrorCode stream_error_;
297 312
298 bool response_complete_; 313 bool response_complete_;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 std::string override_sni_; 349 std::string override_sni_;
335 350
336 DISALLOW_COPY_AND_ASSIGN(QuicTestClient); 351 DISALLOW_COPY_AND_ASSIGN(QuicTestClient);
337 }; 352 };
338 353
339 } // namespace test 354 } // namespace test
340 355
341 } // namespace net 356 } // namespace net
342 357
343 #endif // NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_ 358 #endif // NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_
OLDNEW
« no previous file with comments | « net/tools/quic/end_to_end_test.cc ('k') | net/tools/quic/test_tools/quic_test_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698