NetDashboard.webidl (4153B)
1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 4 * You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 // This file defines dictionaries used by about:networking page. 7 8 dictionary SocketElement { 9 DOMString host = ""; 10 unsigned long port = 0; 11 boolean active = false; 12 DOMString type = ""; 13 double sent = 0; 14 double received = 0; 15 }; 16 17 [GenerateConversionToJS] 18 dictionary SocketsDict { 19 sequence<SocketElement> sockets; 20 double sent = 0; 21 double received = 0; 22 }; 23 24 dictionary HttpConnInfo { 25 unsigned long rtt = 0; 26 unsigned long ttl = 0; 27 DOMString protocolVersion = ""; 28 }; 29 30 dictionary DnsAndSockInfoDict { 31 boolean speculative = false; 32 }; 33 34 dictionary HttpConnectionElement { 35 DOMString host = ""; 36 unsigned long port = 0; 37 DOMString httpVersion = ""; 38 boolean ssl = false; 39 sequence<HttpConnInfo> active; 40 sequence<HttpConnInfo> idle; 41 sequence<DnsAndSockInfoDict> dnsAndSocks; 42 }; 43 44 [GenerateConversionToJS] 45 dictionary HttpConnDict { 46 sequence<HttpConnectionElement> connections; 47 }; 48 49 dictionary WebSocketElement { 50 DOMString hostport = ""; 51 unsigned long msgsent = 0; 52 unsigned long msgreceived = 0; 53 double sentsize = 0; 54 double receivedsize = 0; 55 boolean encrypted = false; 56 }; 57 58 [GenerateConversionToJS] 59 dictionary WebSocketDict { 60 sequence<WebSocketElement> websockets; 61 }; 62 63 dictionary DnsCacheEntry { 64 DOMString hostname = ""; 65 sequence<DOMString> hostaddr; 66 DOMString family = ""; 67 double expiration = 0; 68 boolean trr = false; 69 DOMString originAttributesSuffix = ""; 70 DOMString flags = ""; 71 unsigned short type = 0; 72 }; 73 74 [GenerateConversionToJS] 75 dictionary DNSCacheDict { 76 sequence<DnsCacheEntry> entries; 77 }; 78 79 [GenerateConversionToJS] 80 dictionary DNSLookupDict { 81 sequence<DOMString> address; 82 DOMString error = ""; 83 boolean answer = false; 84 }; 85 86 dictionary SVCParam { 87 unsigned short type = 0; 88 }; 89 90 dictionary SVCParamAlpn : SVCParam { 91 DOMString alpn = ""; 92 }; 93 94 dictionary SVCParamNoDefaultAlpn : SVCParam { 95 }; 96 97 dictionary SVCParamPort : SVCParam { 98 unsigned short port = 0; 99 }; 100 101 dictionary SVCParamIPv4Hint : SVCParam { 102 sequence<DOMString> address; 103 }; 104 105 dictionary SVCParamIPv6Hint : SVCParam { 106 sequence<DOMString> address; 107 }; 108 109 dictionary SVCParamEchConfig : SVCParam { 110 DOMString echConfig = ""; 111 }; 112 113 dictionary SVCParamODoHConfig : SVCParam { 114 DOMString ODoHConfig = ""; 115 }; 116 117 dictionary HTTPSRecord { 118 unsigned short priority = 0; 119 DOMString targetName = ""; 120 SVCParamAlpn alpn; 121 SVCParamNoDefaultAlpn noDefaultAlpn; 122 SVCParamPort port; 123 SVCParamIPv4Hint ipv4Hint; 124 SVCParamIPv6Hint ipv6Hint; 125 SVCParamEchConfig echConfig; 126 SVCParamODoHConfig ODoHConfig; 127 }; 128 129 [GenerateConversionToJS] 130 dictionary HTTPSRRLookupDict { 131 DOMString error = ""; 132 boolean answer = false; 133 sequence<HTTPSRecord> records; 134 }; 135 136 [GenerateConversionToJS] 137 dictionary ConnStatusDict { 138 DOMString status = ""; 139 }; 140 141 dictionary RcwnPerfStats { 142 unsigned long avgShort = 0; 143 unsigned long avgLong = 0; 144 unsigned long stddevLong = 0; 145 }; 146 147 [GenerateConversionToJS] 148 dictionary RcwnStatus { 149 unsigned long totalNetworkRequests = 0; 150 unsigned long rcwnCacheWonCount = 0; 151 unsigned long rcwnNetWonCount = 0; 152 unsigned long cacheSlowCount = 0; 153 unsigned long cacheNotSlowCount = 0; 154 // Sequence is indexed by CachePerfStats::EDataType 155 sequence<RcwnPerfStats> perfStats; 156 }; 157 158 dictionary Http3ConnStats { 159 unsigned long long packetsRx = 0; 160 unsigned long long dupsRx = 0; 161 unsigned long long droppedRx = 0; 162 unsigned long long savedDatagrams = 0; 163 unsigned long long packetsTx = 0; 164 unsigned long long lost = 0; 165 unsigned long long lateAck = 0; 166 unsigned long long ptoAck = 0; 167 unsigned long long wouldBlockRx = 0; 168 unsigned long long wouldBlockTx = 0; 169 sequence<unsigned long long> ptoCounts; 170 }; 171 172 dictionary Http3ConnectionStatsElement { 173 DOMString host = ""; 174 unsigned long port = 0; 175 sequence<Http3ConnStats> stats; 176 }; 177 178 [GenerateConversionToJS] 179 dictionary Http3ConnStatsDict { 180 sequence<Http3ConnectionStatsElement> connections; 181 };