<!--
 -
 - Licensed to the Apache Software Foundation (ASF) under one
 - or more contributor license agreements.  See the NOTICE file
 - distributed with this work for additional information
 - regarding copyright ownership.  The ASF licenses this file
 - to you under the Apache License, Version 2.0 (the
 - "License"); you may not use this file except in compliance
 - with the License.  You may obtain a copy of the License at
 -
 -   http://www.apache.org/licenses/LICENSE-2.0
 -
 - Unless required by applicable law or agreed to in writing,
 - software distributed under the License is distributed on an
 - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 - KIND, either express or implied.  See the License for the
 - specific language governing permissions and limitations
 - under the License.
 -
 -->
<div class="connection">
    <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Connection Attributes',  open: true">
        <div class="alignLeft">
            <div class="clear">
                <div class="formLabel-labelCell">Name:</div>
                <div class="name formValue-valueCell"></div>
            </div>
            <div class="clear">
                <div class="formLabel-labelCell">User:</div>
                <div class="principal formValue-valueCell"></div>
        </div>
            <div class="clear">
                <div class="formLabel-labelCell">Client ID:</div>
                <div class="clientId formValue-valueCell"></div>
            </div>
            <div class="clear">
                <div class="formLabel-labelCell">Client Version:</div>
                <div class="clientVersion formValue-valueCell"></div>
            </div>
        </div>
        <div class="alignRight">
            <div class="clear">
                <div class="formLabel-labelCell">Inbound:</div>
                <div class="formValue-valueCell">
                    <span class="msgInRate"></span>
                    <span> msg/s</span>
                    <span class="bytesInRate"></span>
                    <span class="bytesInRateUnits"></span>
                </div>
            </div>
            <div class="clear">
                <div class="formLabel-labelCell">Outbound:</div>
                <div class="formValue-valueCell">
                    <span class="msgOutRate"></span>
                    <span> msg/s</span>
                    <span class="bytesOutRate"></span>
                    <span class="bytesOutRateUnits"></span>
                </div>
            </div>
            <div class="clear">
                <div class="formLabel-labelCell">Connect Time:</div>
                <div class="formValue-valueCell">
                    <div class="createdTime"></div>
                </div>
            </div>
            <div class="clear">
                <div class="formLabel-labelCell">Last I/O Time:</div>
                <div class="formValue-valueCell">
                    <div class="lastIoTime"></div>
                </div>
            </div>
        </div>
        <div class="clear"></div>
        <div class="clear">
            <div class="formLabel-labelCell">Remote Process (PID):</div>
            <div class="remoteProcessPid"></div>
        </div>
        <div class="clear">
            <div class="formLabel-labelCell">Port:</div>
            <div class="port"></div>
        </div>
        <div class="clear">
            <div class="formLabel-labelCell">Transport:</div>
            <div class="transport"></div>
        </div>
        <div class="clear">
            <div class="formLabel-labelCell">Protocol:</div>
            <div class="protocol"></div>
        </div>
    </div>
    <div class="dijitDialogPaneActionBar">
        <button data-dojo-type="dijit.form.Button" class="closeButton" data-dojo-props="iconClass: 'dijitIconDelete'">Close</button>
    </div>

    <div class="clear"/>

    <br/>

    <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Sessions'">
        <div class="sessions"></div>
    </div>
    <br/>

</div>
