var searchData=
[
  ['security_5fexception',['security_exception',['../classmqtt_1_1security__exception.html',1,'mqtt']]],
  ['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()']]],
  ['size_5ftype',['size_type',['../classmqtt_1_1buffer__view.html#a3c39e021b83c9fcab420b785664201f8',1,'mqtt::buffer_view::size_type()'],['../classmqtt_1_1thread__queue.html#a0258577b49c271d5b330ed81f2d596d6',1,'mqtt::thread_queue::size_type()']]],
  ['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)']]],
  ['ssl_5foptions',['ssl_options',['../classmqtt_1_1ssl__options.html',1,'mqtt']]],
  ['ssl_5foptions_2eh',['ssl_options.h',['../ssl__options_8h.html',1,'']]],
  ['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)']]],
  ['string_5fcollection',['string_collection',['../classmqtt_1_1string__collection.html',1,'mqtt']]],
  ['string_5fcollection_2eh',['string_collection.h',['../string__collection_8h.html',1,'']]],
  ['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']]]
];
