TimingStruct.h (1171B)
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 #ifndef TimingStruct_h_ 6 #define TimingStruct_h_ 7 8 #include "mozilla/TimeStamp.h" 9 #include "nsString.h" 10 11 namespace mozilla { 12 namespace net { 13 14 struct TimingStruct { 15 TimeStamp domainLookupStart; 16 TimeStamp domainLookupEnd; 17 TimeStamp connectStart; 18 TimeStamp tcpConnectEnd; 19 TimeStamp secureConnectionStart; 20 TimeStamp connectEnd; 21 TimeStamp requestStart; 22 TimeStamp responseStart; 23 TimeStamp responseEnd; 24 TimeStamp transactionPending; 25 }; 26 27 struct ResourceTimingStruct : TimingStruct { 28 TimeStamp fetchStart; 29 TimeStamp redirectStart; 30 TimeStamp redirectEnd; 31 uint64_t transferSize; 32 uint64_t encodedBodySize; 33 34 // Not actually part of resource timing, but not part of the transaction 35 // timings either. These need to be passed to HttpChannelChild along with 36 // the rest of the timings so the timing information in the child is complete. 37 TimeStamp cacheReadStart; 38 TimeStamp cacheReadEnd; 39 }; 40 41 } // namespace net 42 } // namespace mozilla 43 44 #endif