var searchData=
[
  ['security_5fexception',['security_exception',['../classmqtt_1_1security__exception.html#a25c75a90839fd51b912332bf18c41427',1,'mqtt::security_exception::security_exception(int code)'],['../classmqtt_1_1security__exception.html#ac0d38c365758416000bd3743524f23fe',1,'mqtt::security_exception::security_exception(int code, const string &amp;msg)']]],
  ['set_5faction_5fcallback',['set_action_callback',['../classmqtt_1_1token.html#ad916dc92354e24c17969334d84a119d6',1,'mqtt::token']]],
  ['set_5fautomatic_5freconnect',['set_automatic_reconnect',['../classmqtt_1_1connect__options.html#a7a4a2086ca01c12eeda4e5d5821eaea4',1,'mqtt::connect_options::set_automatic_reconnect(bool on)'],['../classmqtt_1_1connect__options.html#ae5dd4f9ad611b79bfd847035cecd7b0b',1,'mqtt::connect_options::set_automatic_reconnect(int minRetryInterval, int maxRetryInterval)'],['../classmqtt_1_1connect__options.html#a2fa264464f0b705af67ba4327afc1425',1,'mqtt::connect_options::set_automatic_reconnect(const std::chrono::duration&lt; Rep1, Period1 &gt; &amp;minRetryInterval, const std::chrono::duration&lt; Rep2, Period2 &gt; &amp;maxRetryInterval)']]],
  ['set_5fcallback',['set_callback',['../classmqtt_1_1async__client.html#a8b09cc4d4788420926725b7df00d3448',1,'mqtt::async_client::set_callback()'],['../classmqtt_1_1client.html#a49d9d64861e7f6bf436b212e26d3ba33',1,'mqtt::client::set_callback()'],['../classmqtt_1_1iasync__client.html#ab02592cece3ea4f17164bf56ce7a16f2',1,'mqtt::iasync_client::set_callback()']]],
  ['set_5fclean_5fsession',['set_clean_session',['../classmqtt_1_1connect__options.html#a403bdb15d0383f160e590cdb19039c30',1,'mqtt::connect_options']]],
  ['set_5fconnect_5ftimeout',['set_connect_timeout',['../classmqtt_1_1connect__options.html#a3ab5997d6b7faff140a62ad3059ff5f6',1,'mqtt::connect_options::set_connect_timeout(int to)'],['../classmqtt_1_1connect__options.html#a597539d16cf450959e99f8c1a2c25c29',1,'mqtt::connect_options::set_connect_timeout(const std::chrono::duration&lt; Rep, Period &gt; &amp;to)']]],
  ['set_5fconnection_5ftimeout',['set_connection_timeout',['../classmqtt_1_1connect__options.html#a21d0565ce539b40097bb911c50ecbc60',1,'mqtt::connect_options']]],
  ['set_5fenable_5fserver_5fcert_5fauth',['set_enable_server_cert_auth',['../classmqtt_1_1ssl__options.html#ad9ae3ac9f11beb1303522c92c2241550',1,'mqtt::ssl_options']]],
  ['set_5fenabled_5fcipher_5fsuites',['set_enabled_cipher_suites',['../classmqtt_1_1ssl__options.html#a0baaa0acc9ee34059116cc976e067ed9',1,'mqtt::ssl_options']]],
  ['set_5fkeep_5falive_5finterval',['set_keep_alive_interval',['../classmqtt_1_1connect__options.html#a8f7c99d453da95192b15641a80286441',1,'mqtt::connect_options::set_keep_alive_interval(int keepAliveInterval)'],['../classmqtt_1_1connect__options.html#a1fe7db605c853cbf3d96a7f92b1938eb',1,'mqtt::connect_options::set_keep_alive_interval(const std::chrono::duration&lt; Rep, Period &gt; &amp;interval)']]],
  ['set_5fkey_5fstore',['set_key_store',['../classmqtt_1_1ssl__options.html#a2735d35b147f612f644546394ad952a8',1,'mqtt::ssl_options']]],
  ['set_5fmax_5finflight',['set_max_inflight',['../classmqtt_1_1connect__options.html#a9782ad70a6927ce80ab155928eea2f57',1,'mqtt::connect_options']]],
  ['set_5fmqtt_5fversion',['set_mqtt_version',['../classmqtt_1_1connect__options.html#ade9cf837014937ca3df32bb04c7dca28',1,'mqtt::connect_options']]],
  ['set_5fpassword',['set_password',['../classmqtt_1_1connect__options.html#af27a81a33acfbb152c70a7331163afce',1,'mqtt::connect_options']]],
  ['set_5fpayload',['set_payload',['../classmqtt_1_1message.html#a627ceed7e384c159ceb7ed347b1b628b',1,'mqtt::message::set_payload(binary_ref payload)'],['../classmqtt_1_1message.html#ae784b5150baacfaaca319c0ce84ddcb2',1,'mqtt::message::set_payload(const void *payload, size_t n)'],['../classmqtt_1_1will__options.html#a132976bc745ba889a4aae76173f2c569',1,'mqtt::will_options::set_payload(binary_ref msg)'],['../classmqtt_1_1will__options.html#a7412354ed5599b9bc267464bbacae972',1,'mqtt::will_options::set_payload(string msg)']]],
  ['set_5fprivate_5fkey',['set_private_key',['../classmqtt_1_1ssl__options.html#afe9b7afbe701d59b0390515dcce563c7',1,'mqtt::ssl_options']]],
  ['set_5fprivate_5fkey_5fpassword',['set_private_key_password',['../classmqtt_1_1ssl__options.html#a3c33a1ee28d093a6779b47536e998cb4',1,'mqtt::ssl_options']]],
  ['set_5fqos',['set_qos',['../classmqtt_1_1message.html#af666e57c7e68f43e5331f09a843b4262',1,'mqtt::message::set_qos()'],['../classmqtt_1_1topic.html#a1503219df15de428ff11ecc69099a9b7',1,'mqtt::topic::set_qos()'],['../classmqtt_1_1will__options.html#a37b9e92e0b9d339af19bba3a0b30c2c4',1,'mqtt::will_options::set_qos()']]],
  ['set_5fretained',['set_retained',['../classmqtt_1_1message.html#a51c7f7cfe89ebcc17d1686ec025193d2',1,'mqtt::message::set_retained()'],['../classmqtt_1_1topic.html#a6464a44498c4ceb14d7038ec45b88ab0',1,'mqtt::topic::set_retained()'],['../classmqtt_1_1will__options.html#a5767dc68cb8bfec285ffcfaf71a5c077',1,'mqtt::will_options::set_retained()']]],
  ['set_5fservers',['set_servers',['../classmqtt_1_1connect__options.html#ab07b77a183819ef5831bedf158195217',1,'mqtt::connect_options']]],
  ['set_5fssl',['set_ssl',['../classmqtt_1_1connect__options.html#ac7d250c386ffc68aad082c83348588c4',1,'mqtt::connect_options']]],
  ['set_5ftimeout',['set_timeout',['../classmqtt_1_1client.html#aedb0a9a0bedf95e544a0b8a5764b56ab',1,'mqtt::client::set_timeout(int timeoutMS)'],['../classmqtt_1_1client.html#a74d3c7699b56ea1c7ceaf7a58910c3ca',1,'mqtt::client::set_timeout(const std::chrono::duration&lt; Rep, Period &gt; &amp;to)'],['../classmqtt_1_1disconnect__options.html#a05ae3241cf829420e3e4666a96e07a9e',1,'mqtt::disconnect_options::set_timeout(int timeout)'],['../classmqtt_1_1disconnect__options.html#a49e84404f8b8f9d91ad6fcd25416ac43',1,'mqtt::disconnect_options::set_timeout(const std::chrono::duration&lt; Rep, Period &gt; &amp;to)']]],
  ['set_5ftoken',['set_token',['../classmqtt_1_1connect__options.html#a2cf8245b406dba323c508b1af7308bba',1,'mqtt::connect_options::set_token()'],['../classmqtt_1_1disconnect__options.html#a289955318ab951b13749fff88063bd5f',1,'mqtt::disconnect_options::set_token()'],['../classmqtt_1_1response__options.html#a18e59d299922928bef2f1b67a05ca5f2',1,'mqtt::response_options::set_token()'],['../classmqtt_1_1delivery__response__options.html#a9dd6f1113f207c65a167b6d88da10ff1',1,'mqtt::delivery_response_options::set_token()']]],
  ['set_5ftopic',['set_topic',['../classmqtt_1_1message.html#a5a46fb7ecf4c687287d459bf6527d3fa',1,'mqtt::message::set_topic()'],['../classmqtt_1_1will__options.html#a6f7d6e083440de05cfd631cc3f063240',1,'mqtt::will_options::set_topic()']]],
  ['set_5ftrust_5fstore',['set_trust_store',['../classmqtt_1_1ssl__options.html#aa3b98b5f6fccca749c962775dbd1c8c4',1,'mqtt::ssl_options']]],
  ['set_5fuser_5fcontext',['set_user_context',['../classmqtt_1_1token.html#a5faa55b04ee75f18df7b019bf443b1a0',1,'mqtt::token']]],
  ['set_5fuser_5fname',['set_user_name',['../classmqtt_1_1connect__options.html#a0d4c0ab71eccf7785b477df5619943b6',1,'mqtt::connect_options']]],
  ['set_5fwill',['set_will',['../classmqtt_1_1connect__options.html#ab5c95da2cdcff93f9737a42015002f27',1,'mqtt::connect_options']]],
  ['size',['size',['../classmqtt_1_1buffer__ref.html#a9f0d34a9a04996bbf40274af07ac20d7',1,'mqtt::buffer_ref::size()'],['../classmqtt_1_1buffer__view.html#aff29a16c497207e9c9e173c3dd2f979c',1,'mqtt::buffer_view::size()'],['../classmqtt_1_1string__collection.html#ad91c18c3dae8baccf5ebfb0d7c194e04',1,'mqtt::string_collection::size()'],['../classmqtt_1_1thread__queue.html#a6f23c815b33be58b2ac2a6aba159108d',1,'mqtt::thread_queue::size()']]],
  ['ssl_5foptions',['ssl_options',['../classmqtt_1_1ssl__options.html#adc0f2a7d60a63e85328d3db2ac9e3414',1,'mqtt::ssl_options::ssl_options()'],['../classmqtt_1_1ssl__options.html#a795b4816e2e4f92afd4342a6c6067183',1,'mqtt::ssl_options::ssl_options(const string &amp;trustStore, const string &amp;keyStore, const string &amp;privateKey, const string &amp;privateKeyPassword, const string &amp;enabledCipherSuites, bool enableServerCertAuth)'],['../classmqtt_1_1ssl__options.html#a737c181858109f5dba08d45e1798b4d9',1,'mqtt::ssl_options::ssl_options(const ssl_options &amp;opt)'],['../classmqtt_1_1ssl__options.html#ad0f8a554ad6fc9c34e5c2d216591659d',1,'mqtt::ssl_options::ssl_options(ssl_options &amp;&amp;opt)']]],
  ['start_5fconsuming',['start_consuming',['../classmqtt_1_1async__client.html#abcdbc13e54bb4ba1e52e8e405297d170',1,'mqtt::async_client::start_consuming()'],['../classmqtt_1_1client.html#a7e5ca8022931233cc3d70966d96e668f',1,'mqtt::client::start_consuming()']]],
  ['stop_5fconsuming',['stop_consuming',['../classmqtt_1_1async__client.html#ab5aaa839a2832009148202fa5a81c4f2',1,'mqtt::async_client::stop_consuming()'],['../classmqtt_1_1client.html#a16e06de5406920137ce2911484ab8fd5',1,'mqtt::client::stop_consuming()']]],
  ['str',['str',['../classmqtt_1_1buffer__ref.html#ad43932e2a6a5debe8036d6d5af2d76da',1,'mqtt::buffer_ref::str()'],['../classmqtt_1_1buffer__view.html#a6b3872177aba1b14a9177251d3548486',1,'mqtt::buffer_view::str()']]],
  ['string_5fcollection',['string_collection',['../classmqtt_1_1string__collection.html#a74a9a5e1fe2f00b3fffe65172e2b4dec',1,'mqtt::string_collection::string_collection()=default'],['../classmqtt_1_1string__collection.html#a66b1550576f33eff14ab1b22b2c5cb87',1,'mqtt::string_collection::string_collection(const string &amp;str)'],['../classmqtt_1_1string__collection.html#a98abbaf87b964690ba032725ac6c7502',1,'mqtt::string_collection::string_collection(string &amp;&amp;str)'],['../classmqtt_1_1string__collection.html#a4f07bc279fe80beb50f6f379ce945e3d',1,'mqtt::string_collection::string_collection(const collection_type &amp;vec)'],['../classmqtt_1_1string__collection.html#a9fc14ddbc45bd85c22ec03dd88efb2dc',1,'mqtt::string_collection::string_collection(collection_type &amp;&amp;vec)'],['../classmqtt_1_1string__collection.html#a39cb2c38a7ca6adb3df27bd1f01443dd',1,'mqtt::string_collection::string_collection(const string_collection &amp;coll)'],['../classmqtt_1_1string__collection.html#a4bd7945fc3d01fe3d3dde7ae9c6e4e9d',1,'mqtt::string_collection::string_collection(string_collection &amp;&amp;coll)=default'],['../classmqtt_1_1string__collection.html#a3f813bf66ae466e72cfd5df3eb7e784f',1,'mqtt::string_collection::string_collection(std::initializer_list&lt; string &gt; sl)'],['../classmqtt_1_1string__collection.html#a1e8e7f011334dbbc20c15900c9fc833f',1,'mqtt::string_collection::string_collection(std::initializer_list&lt; const char * &gt; sl)']]],
  ['subscribe',['subscribe',['../classmqtt_1_1async__client.html#a8b20a22af1069ef41c27566698bd90bd',1,'mqtt::async_client::subscribe(const_string_collection_ptr topicFilters, const qos_collection &amp;qos) override'],['../classmqtt_1_1async__client.html#a001340b074ef676bee012156dde830a1',1,'mqtt::async_client::subscribe(const_string_collection_ptr topicFilters, const qos_collection &amp;qos, void *userContext, iaction_listener &amp;cb) override'],['../classmqtt_1_1async__client.html#ab250f9c6d9c8afd85c6e2038e640116f',1,'mqtt::async_client::subscribe(const string &amp;topicFilter, int qos) override'],['../classmqtt_1_1async__client.html#a0c1a7a708c40ebaf10ed8488c5557227',1,'mqtt::async_client::subscribe(const string &amp;topicFilter, int qos, void *userContext, iaction_listener &amp;cb) override'],['../classmqtt_1_1client.html#aba3e65033a2e5e2bd5b3235e695744f6',1,'mqtt::client::subscribe(const string &amp;topicFilter)'],['../classmqtt_1_1client.html#a0bced094f95428f53faa8450471af48c',1,'mqtt::client::subscribe(const string &amp;topicFilter, int qos)'],['../classmqtt_1_1client.html#a8e44cee3866280c3767046bfd6be244a',1,'mqtt::client::subscribe(const string_collection &amp;topicFilters)'],['../classmqtt_1_1client.html#a1a75c2496bdfb2fb48208155c0fe4b46',1,'mqtt::client::subscribe(const string_collection &amp;topicFilters, const qos_collection &amp;qos)'],['../classmqtt_1_1iasync__client.html#a8f33a38aa1735de94207418f8e301bf1',1,'mqtt::iasync_client::subscribe(const_string_collection_ptr topicFilters, const qos_collection &amp;qos)=0'],['../classmqtt_1_1iasync__client.html#a066b6d5b25fb73cefc4fc781f081a723',1,'mqtt::iasync_client::subscribe(const_string_collection_ptr topicFilters, const qos_collection &amp;qos, void *userContext, iaction_listener &amp;callback)=0'],['../classmqtt_1_1iasync__client.html#a1751d5239e48a8f9a3ed509945f85ad3',1,'mqtt::iasync_client::subscribe(const string &amp;topicFilter, int qos)=0'],['../classmqtt_1_1iasync__client.html#ad36b8057725242c6238113fcbaac13aa',1,'mqtt::iasync_client::subscribe(const string &amp;topicFilter, int qos, void *userContext, iaction_listener &amp;callback)=0']]]
];
