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
8dictionary SocketElement {
9  DOMString host = "";
10  unsigned long port = 0;
11  boolean active = false;
12  boolean tcp = false;
13  double sent = 0;
14  double received = 0;
15};
16
17dictionary SocketsDict {
18  sequence<SocketElement> sockets;
19  double sent = 0;
20  double received = 0;
21};
22
23dictionary HttpConnInfo {
24  unsigned long rtt = 0;
25  unsigned long ttl = 0;
26  DOMString protocolVersion = "";
27};
28
29dictionary HalfOpenInfoDict {
30  boolean speculative = false;
31};
32
33dictionary HttpConnectionElement {
34  DOMString host = "";
35  unsigned long port = 0;
36  boolean spdy = false;
37  boolean ssl = false;
38  sequence<HttpConnInfo> active;
39  sequence<HttpConnInfo> idle;
40  sequence<HalfOpenInfoDict> halfOpens;
41};
42
43dictionary HttpConnDict {
44  sequence<HttpConnectionElement> connections;
45};
46
47dictionary WebSocketElement {
48  DOMString hostport = "";
49  unsigned long msgsent = 0;
50  unsigned long msgreceived = 0;
51  double sentsize = 0;
52  double receivedsize = 0;
53  boolean encrypted = false;
54};
55
56dictionary WebSocketDict {
57  sequence<WebSocketElement> websockets;
58};
59
60dictionary DnsCacheEntry {
61  DOMString hostname = "";
62  sequence<DOMString> hostaddr;
63  DOMString family = "";
64  double expiration = 0;
65  boolean trr = false;
66};
67
68dictionary DNSCacheDict {
69  sequence<DnsCacheEntry> entries;
70};
71
72dictionary DNSLookupDict {
73  sequence<DOMString> address;
74  DOMString error = "";
75  boolean answer = false;
76};
77
78dictionary ConnStatusDict {
79  DOMString status = "";
80};
81
82dictionary RcwnPerfStats {
83  unsigned long avgShort = 0;
84  unsigned long avgLong = 0;
85  unsigned long stddevLong = 0;
86};
87
88dictionary RcwnStatus {
89  unsigned long totalNetworkRequests = 0;
90  unsigned long rcwnCacheWonCount = 0;
91  unsigned long rcwnNetWonCount = 0;
92  unsigned long cacheSlowCount = 0;
93  unsigned long cacheNotSlowCount = 0;
94  // Sequence is indexed by CachePerfStats::EDataType
95  sequence<RcwnPerfStats> perfStats;
96};
97