Lines Matching refs:sub
277 const char *sub = topic;
295 while (*sub != 0) {
296 if (sub[0] == '+') {
298 if (spos > 0 && sub[-1] != '/')
302 if (sub[1] != 0 && sub[1] != '/')
306 } else if (sub[0] == '#') {
308 if (spos > 0 && sub[-1] != '/')
312 if (sub[1] != 0)
316 } else if (sub[0] == '/') {
320 sub++;
351 mysub = lws_malloc(sizeof(*mysub) + topiclen + 1, "sub");
396 lwsl_info("%s: Removing sub %p from wsi->mqtt %p\n",
459 lws_mqtt_is_topic_matched(const char* sub, const char* pub)
461 const char *ppos = pub, *spos = sub;
2120 lws_mqtt_client_send_subcribe(struct lws *wsi, lws_mqtt_subscribe_param_t *sub)
2134 assert(sub->num_topics);
2135 assert(sub->num_topics < sizeof(exists));
2158 for (n = 0; n < sub->num_topics; n++) {
2160 __func__, (int)n, sub->topic[n].name);
2162 mysub = lws_mqtt_find_sub(nwsi->mqtt, sub->topic[n].name);
2172 if (!lws_mqtt_create_sub(wsi->mqtt, sub->topic[n].name)) {
2173 lwsl_err("%s: create sub fail\n", __func__);
2178 if (extant == sub->num_topics) {
2204 tops = sub->num_topics - extant;
2211 for (n = 0; n < sub->num_topics; n++)
2213 rem_len += (2 + (uint32_t)strlen(sub->topic[n].name) + (uint32_t)1);
2235 wsi->mqtt->ack_pkt_id = sub->packet_id = ++nwsi->mqtt->pkt_id;
2237 (int)sub->packet_id);
2247 for (n = 0; n < sub->num_topics; n++) {
2249 (int)n, sub->topic[n].name);
2254 __func__, (int)n, sub->topic[n].name);
2263 if (!lws_mqtt_create_sub(nwsi->mqtt, sub->topic[n].name))
2267 lws_ser_wu16be(p, (uint16_t)strlen(sub->topic[n].name));
2273 lws_strncpy((char *)p, sub->topic[n].name,
2274 strlen(sub->topic[n].name) + 1);
2276 (int)strlen(sub->topic[n].name)))
2281 *p = (uint8_t)sub->topic[n].qos;