1<div class="section">
2 <%= paginate_ui(connections, 'streamConnections', 'stream connections') %>
3</div>
4<div class="updatable">
5<% if (connections.items.length > 0) { %>
6<table class="list">
7 <thead>
8  <tr>
9    <%= group_heading('streamConnections', 'Overview', [vhosts_interesting, nodes_interesting, true]) %>
10    <% if (!disable_stats) { %>
11    <%= group_heading('streamConnections', 'Details', []) %>
12    <%= group_heading('streamConnections', 'Network', []) %>
13    <% } %>
14    <th class="plus-minus"><span class="popup-options-link" title="Click to change columns" type="columns" for="streamConnections">+/-</span></th>
15  </tr>
16  <tr>
17<% if (vhosts_interesting) { %>
18    <th><%= fmt_sort('Virtual host', 'vhost') %></th>
19<% } %>
20<% if(disable_stats) { %>
21    <th><%= fmt_sort('Name',           'name') %></th>
22<% } else { %>
23    <th><%= fmt_sort('Name',           'client_properties.connection_name') %></th>
24<% } %>
25<% if (nodes_interesting) { %>
26    <th><%= fmt_sort('Node',           'node') %></th>
27<% } %>
28<% if (show_column('streamConnections',      'user')) { %>
29    <th><%= fmt_sort('User name',      'user') %></th>
30<% } %>
31<% if (!disable_stats) { %>
32<% if (show_column('streamConnections',      'state')) { %>
33    <th><%= fmt_sort('State',          'state') %></th>
34<% } %>
35<% if (show_column('streamConnections',      'ssl')) { %>
36    <th><%= fmt_sort('SSL / TLS',      'ssl') %></th>
37<% } %>
38<% if (show_column('streamConnections',      'ssl_info')) { %>
39    <th>SSL Details</th>
40<% } %>
41<% if (show_column('streamConnections',      'protocol')) { %>
42    <th><%= fmt_sort('Protocol',       'protocol') %></th>
43<% } %>
44<% if (show_column('streamConnections',      'frame_max')) { %>
45    <th><%= fmt_sort('Frame max',      'frame_max') %></th>
46<% } %>
47<% if (show_column('streamConnections',      'auth_mechanism')) { %>
48    <th><%= fmt_sort('Auth mechanism', 'auth_mechanism') %></th>
49<% } %>
50<% if (show_column('streamConnections',      'client')) { %>
51    <th><%= fmt_sort('Client',         'properties') %></th>
52<% } %>
53<% if (show_column('streamConnections',      'from_client')) { %>
54    <th><%= fmt_sort('From client',    'recv_oct_details.rate') %></th>
55<% } %>
56<% if (show_column('streamConnections',      'to_client')) { %>
57    <th><%= fmt_sort('To client',      'send_oct_details.rate') %></th>
58<% } %>
59<% if (show_column('streamConnections',      'heartbeat')) { %>
60    <th><%= fmt_sort('Heartbeat',      'timeout') %></th>
61<% } %>
62<% if (show_column('streamConnections',      'connected_at')) { %>
63    <th><%= fmt_sort('Connected at',   'connected_at') %></th>
64<% } %>
65<% } %>
66  </tr>
67 </thead>
68 <tbody>
69<%
70 for (var i = 0; i < connections.items.length; i++) {
71    var connection = connections.items[i];
72%>
73  <tr<%= alt_rows(i)%>>
74<% if (vhosts_interesting) { %>
75    <td><%= fmt_string(connection.vhost) %></td>
76<% } %>
77<% if(connection.client_properties) { %>
78    <td>
79      <%= link_stream_conn(connection.vhost, connection.name) %>
80      <sub><%= fmt_string(short_conn(connection.client_properties.connection_name)) %></sub>
81    </td>
82<% } else { %>
83    <td><%= link_stream_conn(connection.vhost, connection.name) %></td>
84<% } %>
85<% if (nodes_interesting) { %>
86    <td><%= fmt_node(connection.node) %></td>
87<% } %>
88<% if (show_column('streamConnections', 'user')) { %>
89    <td class="c"><%= fmt_string(connection.user) %></td>
90<% } %>
91<% if (!disable_stats) { %>
92<% if (show_column('streamConnections', 'state')) { %>
93    <td><%= fmt_object_state(connection) %></td>
94<% } %>
95<% if (show_column('streamConnections', 'ssl')) { %>
96    <td class="c"><%= fmt_boolean(connection.ssl, '') %></td>
97<% } %>
98<% if (show_column('streamConnections', 'ssl_info')) { %>
99    <td>
100    <% if (connection.ssl) { %>
101      <%= connection.ssl_protocol %>
102      <sub>
103        <%= connection.ssl_key_exchange %>
104        <%= connection.ssl_cipher %>
105        <%= connection.ssl_hash %>
106      </sub>
107    <% } %>
108    </td>
109<% } %>
110<% if (show_column('streamConnections', 'protocol')) { %>
111    <td class="c"><%= connection.protocol %></td>
112<% } %>
113<% if (show_column('streamConnections', 'frame_max')) { %>
114    <td class="r"><%= fmt_string(connection.frame_max, '') %></td>
115<% } %>
116<% if (show_column('streamConnections', 'auth_mechanism')) { %>
117    <td class="c"><%= fmt_string(connection.auth_mechanism, '') %></td>
118<% } %>
119<% if (show_column('streamConnections', 'client')) { %>
120    <td><%= fmt_client_name(connection.client_properties) %></td>
121<% } %>
122<% if (show_column('streamConnections', 'from_client')) { %>
123    <td><%= fmt_detail_rate_bytes(connection, 'recv_oct') %></td>
124<% } %>
125<% if (show_column('streamConnections', 'to_client')) { %>
126    <td><%= fmt_detail_rate_bytes(connection, 'send_oct') %></td>
127<% } %>
128<% if (show_column('streamConnections', 'heartbeat')) { %>
129    <td class="r"><%= fmt_time(connection.timeout, 's') %></td>
130<% } %>
131<% if (show_column('streamConnections', 'connected_at')) { %>
132    <td><%= fmt_timestamp_mini(connection.connected_at) %></td>
133<% } %>
134  <% } %>
135  </tr>
136  <% } %>
137 </tbody>
138</table>
139<% } else { %>
140  <p>... no connections ...</p>
141<% } %>
142</div>