/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ // This file defines dictionaries used by about:networking page. dictionary SocketElement { DOMString host = ""; unsigned long port = 0; boolean active = false; DOMString type = ""; double sent = 0; double received = 0; }; [GenerateConversionToJS] dictionary SocketsDict { sequence sockets; double sent = 0; double received = 0; }; dictionary HttpConnInfo { unsigned long rtt = 0; unsigned long ttl = 0; DOMString protocolVersion = ""; }; dictionary DnsAndSockInfoDict { boolean speculative = false; }; dictionary HttpConnectionElement { DOMString host = ""; unsigned long port = 0; DOMString httpVersion = ""; boolean ssl = false; sequence active; sequence idle; sequence dnsAndSocks; }; [GenerateConversionToJS] dictionary HttpConnDict { sequence connections; }; dictionary WebSocketElement { DOMString hostport = ""; unsigned long msgsent = 0; unsigned long msgreceived = 0; double sentsize = 0; double receivedsize = 0; boolean encrypted = false; }; [GenerateConversionToJS] dictionary WebSocketDict { sequence websockets; }; dictionary DnsCacheEntry { DOMString hostname = ""; sequence hostaddr; DOMString family = ""; double expiration = 0; boolean trr = false; DOMString originAttributesSuffix = ""; DOMString flags = ""; }; [GenerateConversionToJS] dictionary DNSCacheDict { sequence entries; }; [GenerateConversionToJS] dictionary DNSLookupDict { sequence address; DOMString error = ""; boolean answer = false; }; dictionary SVCParam { unsigned short type = 0; }; dictionary SVCParamAlpn : SVCParam { DOMString alpn = ""; }; dictionary SVCParamNoDefaultAlpn : SVCParam { }; dictionary SVCParamPort : SVCParam { unsigned short port = 0; }; dictionary SVCParamIPv4Hint : SVCParam { sequence address; }; dictionary SVCParamIPv6Hint : SVCParam { sequence address; }; dictionary SVCParamEchConfig : SVCParam { DOMString echConfig = ""; }; dictionary SVCParamODoHConfig : SVCParam { DOMString ODoHConfig = ""; }; dictionary HTTPSRecord { unsigned short priority = 0; DOMString targetName = ""; SVCParamAlpn alpn; SVCParamNoDefaultAlpn noDefaultAlpn; SVCParamPort port; SVCParamIPv4Hint ipv4Hint; SVCParamIPv6Hint ipv6Hint; SVCParamEchConfig echConfig; SVCParamODoHConfig ODoHConfig; }; [GenerateConversionToJS] dictionary HTTPSRRLookupDict { DOMString error = ""; boolean answer = false; sequence records; }; [GenerateConversionToJS] dictionary ConnStatusDict { DOMString status = ""; }; dictionary RcwnPerfStats { unsigned long avgShort = 0; unsigned long avgLong = 0; unsigned long stddevLong = 0; }; [GenerateConversionToJS] dictionary RcwnStatus { unsigned long totalNetworkRequests = 0; unsigned long rcwnCacheWonCount = 0; unsigned long rcwnNetWonCount = 0; unsigned long cacheSlowCount = 0; unsigned long cacheNotSlowCount = 0; // Sequence is indexed by CachePerfStats::EDataType sequence perfStats; };