Lines Matching refs:pub
459 lws_mqtt_is_topic_matched(const char* sub, const char* pub)
461 const char *ppos = pub, *spos = sub;
471 __func__, pub);
838 lws_mqtt_publish_param_t *pub = NULL;
865 sizeof(lws_mqtt_publish_param_t), "rx pub param");
868 pub = (lws_mqtt_publish_param_t *)wsi->mqtt->rx_cpkt_param;
870 pub->topic_len = (uint16_t)par->n;
873 pub->topic = (char *)lws_zalloc((size_t)pub->topic_len + 1,
875 if (!pub->topic)
877 lws_strncpy(pub->topic, (const char *)buf,
878 (size_t)pub->topic_len + 1);
879 buf += pub->topic_len;
880 len -= pub->topic_len;
883 pub->qos = (lws_mqtt_qos_levels_t)
886 pub->payload_pos = 0;
888 pub->payload_len = par->cpkt_remlen -
889 (unsigned int)(2 + pub->topic_len + ((pub->qos) ? 2 : 0));
891 switch (pub->qos) {
894 if (pub->payload_len == 0)
904 lws_free_set_NULL(pub->topic);
912 lws_mqtt_publish_param_t *pub =
927 pub->payload_pos = 0;
928 pub->payload_len = par->cpkt_remlen -
929 (unsigned int)(2 + pub->topic_len + ((pub->qos) ? 2 : 0));
930 if (pub->payload_len == 0)
937 lws_mqtt_publish_param_t *pub =
939 if (pub == NULL) {
945 pub->payload = buf;
1626 lws_mqtt_publish_param_t *pub =
1631 if (pub == NULL) {
1632 lwsl_notice("%s: no pub\n", __func__);
1643 chunk = pub->payload_len - pub->payload_pos;
1650 pub->topic))
1654 (void *)pub,
1657 lws_free_set_NULL(pub->topic);
1664 pub->payload_pos += (uint32_t)chunk;
1669 __func__, (int)pub->payload_pos,
1670 (int)pub->payload_len, (int)len);
1672 if (pub->payload_pos != pub->payload_len) {
1682 if (pub->qos == 1) {
1686 } else if (pub->qos == 2) {
1693 lws_free_set_NULL(pub->topic);
1957 lws_mqtt_client_send_publish(struct lws *wsi, lws_mqtt_publish_param_t *pub,
1966 assert(pub->topic);
1998 pub->dup, pub->qos, pub->retain)) {
2007 vh_len = (unsigned int)(2 + pub->topic_len + ((pub->qos) ? 2 : 0));
2008 rem_len = vh_len + pub->payload_len;
2021 lws_ser_wu16be(p, pub->topic_len);
2030 (uint16_t)(unsigned int)(pub->topic_len + ((pub->qos) ? 2u : 0u) + len),
2034 lws_strncpy((char *)p, pub->topic, (size_t)pub->topic_len+1);
2035 if (lws_mqtt_str_advance(&mqtt_vh_payload, pub->topic_len)) {
2041 if (pub->qos != QOS0) {
2043 if (!pub->dup)
2045 wsi->mqtt->ack_pkt_id = pub->packet_id = nwsi->mqtt->pkt_id;
2048 lws_ser_wu16be(p, pub->packet_id);
2083 if (pub->qos != QOS0)
2088 if (pub->qos == QOS0) {
2099 } else if (pub->qos == QOS1 || pub->qos == QOS2) {