Line data Source code
1 : /* This Source Code Form is subject to the terms of the Mozilla Public
2 : * License, v. 2.0. If a copy of the MPL was not distributed with this
3 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 :
5 :
6 : #ifndef TimingStruct_h_
7 : #define TimingStruct_h_
8 :
9 : #include "mozilla/TimeStamp.h"
10 :
11 : namespace mozilla { namespace net {
12 :
13 19 : struct TimingStruct {
14 : TimeStamp domainLookupStart;
15 : TimeStamp domainLookupEnd;
16 : TimeStamp connectStart;
17 : TimeStamp connectEnd;
18 : TimeStamp requestStart;
19 : TimeStamp responseStart;
20 : TimeStamp responseEnd;
21 : };
22 :
23 30 : struct ResourceTimingStruct : TimingStruct {
24 : TimeStamp fetchStart;
25 : TimeStamp redirectStart;
26 : TimeStamp redirectEnd;
27 : uint64_t transferSize;
28 : uint64_t encodedBodySize;
29 : nsCString protocolVersion;
30 :
31 : // Not actually part of resource timing, but not part of the transaction
32 : // timings either. These need to be passed to HttpChannelChild along with
33 : // the rest of the timings so the timing information in the child is complete.
34 : TimeStamp cacheReadStart;
35 : TimeStamp cacheReadEnd;
36 : };
37 :
38 : } // namespace net
39 : } // namespace mozilla
40 :
41 : #endif
|