<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_101) on Thu Sep 01 13:59:14 BST 2016 -->
<title>K-Index</title>
<meta name="date" content="2016-09-01">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="K-Index";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="index-10.html">Prev Letter</a></li>
<li><a href="index-12.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-files/index-11.html" target="_top">Frames</a></li>
<li><a href="index-11.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">K</a>&nbsp;<a href="index-12.html">L</a>&nbsp;<a href="index-13.html">M</a>&nbsp;<a href="index-14.html">N</a>&nbsp;<a href="index-15.html">O</a>&nbsp;<a href="index-16.html">P</a>&nbsp;<a href="index-17.html">Q</a>&nbsp;<a href="index-18.html">R</a>&nbsp;<a href="index-19.html">S</a>&nbsp;<a href="index-20.html">T</a>&nbsp;<a href="index-21.html">U</a>&nbsp;<a href="index-22.html">V</a>&nbsp;<a href="index-23.html">W</a>&nbsp;<a name="I:K">
<!--   -->
</a>
<h2 class="title">K</h2>
<dl>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/MqttConnectOptions.html#KEEP_ALIVE_INTERVAL_DEFAULT">KEEP_ALIVE_INTERVAL_DEFAULT</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.<a href="../org/eclipse/paho/client/mqttv3/MqttConnectOptions.html" title="class in org.eclipse.paho.client.mqttv3">MqttConnectOptions</a></dt>
<dd>
<div class="block">The default keep alive interval in seconds if one is not specified</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/internal/wire/MqttConnack.html#KEY">KEY</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.internal.wire.<a href="../org/eclipse/paho/client/mqttv3/internal/wire/MqttConnack.html" title="class in org.eclipse.paho.client.mqttv3.internal.wire">MqttConnack</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/internal/wire/MqttConnect.html#KEY">KEY</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.internal.wire.<a href="../org/eclipse/paho/client/mqttv3/internal/wire/MqttConnect.html" title="class in org.eclipse.paho.client.mqttv3.internal.wire">MqttConnect</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/internal/wire/MqttDisconnect.html#KEY">KEY</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.internal.wire.<a href="../org/eclipse/paho/client/mqttv3/internal/wire/MqttDisconnect.html" title="class in org.eclipse.paho.client.mqttv3.internal.wire">MqttDisconnect</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/internal/wire/MqttPingReq.html#KEY">KEY</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.internal.wire.<a href="../org/eclipse/paho/client/mqttv3/internal/wire/MqttPingReq.html" title="class in org.eclipse.paho.client.mqttv3.internal.wire">MqttPingReq</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/internal/wire/MqttPingResp.html#KEY">KEY</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.internal.wire.<a href="../org/eclipse/paho/client/mqttv3/internal/wire/MqttPingResp.html" title="class in org.eclipse.paho.client.mqttv3.internal.wire">MqttPingResp</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/MqttClientPersistence.html#keys--">keys()</a></span> - Method in interface org.eclipse.paho.client.mqttv3.<a href="../org/eclipse/paho/client/mqttv3/MqttClientPersistence.html" title="interface in org.eclipse.paho.client.mqttv3">MqttClientPersistence</a></dt>
<dd>
<div class="block">Returns an Enumeration over the keys in this persistent data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/persist/MemoryPersistence.html#keys--">keys()</a></span> - Method in class org.eclipse.paho.client.mqttv3.persist.<a href="../org/eclipse/paho/client/mqttv3/persist/MemoryPersistence.html" title="class in org.eclipse.paho.client.mqttv3.persist">MemoryPersistence</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/persist/MqttDefaultFilePersistence.html#keys--">keys()</a></span> - Method in class org.eclipse.paho.client.mqttv3.persist.<a href="../org/eclipse/paho/client/mqttv3/persist/MqttDefaultFilePersistence.html" title="class in org.eclipse.paho.client.mqttv3.persist">MqttDefaultFilePersistence</a></dt>
<dd>
<div class="block">Returns all of the persistent data from the previously specified persistence directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#KEYSTORE">KEYSTORE</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.internal.security.<a href="../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html" title="class in org.eclipse.paho.client.mqttv3.internal.security">SSLSocketFactoryFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#KEYSTOREMGR">KEYSTOREMGR</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.internal.security.<a href="../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html" title="class in org.eclipse.paho.client.mqttv3.internal.security">SSLSocketFactoryFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#KEYSTOREPROVIDER">KEYSTOREPROVIDER</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.internal.security.<a href="../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html" title="class in org.eclipse.paho.client.mqttv3.internal.security">SSLSocketFactoryFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#KEYSTOREPWD">KEYSTOREPWD</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.internal.security.<a href="../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html" title="class in org.eclipse.paho.client.mqttv3.internal.security">SSLSocketFactoryFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#KEYSTORETYPE">KEYSTORETYPE</a></span> - Static variable in class org.eclipse.paho.client.mqttv3.internal.security.<a href="../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html" title="class in org.eclipse.paho.client.mqttv3.internal.security">SSLSocketFactoryFactory</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">K</a>&nbsp;<a href="index-12.html">L</a>&nbsp;<a href="index-13.html">M</a>&nbsp;<a href="index-14.html">N</a>&nbsp;<a href="index-15.html">O</a>&nbsp;<a href="index-16.html">P</a>&nbsp;<a href="index-17.html">Q</a>&nbsp;<a href="index-18.html">R</a>&nbsp;<a href="index-19.html">S</a>&nbsp;<a href="index-20.html">T</a>&nbsp;<a href="index-21.html">U</a>&nbsp;<a href="index-22.html">V</a>&nbsp;<a href="index-23.html">W</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="index-10.html">Prev Letter</a></li>
<li><a href="index-12.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-files/index-11.html" target="_top">Frames</a></li>
<li><a href="index-11.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
