static void __pubsub_opened_cb(vine_dp_h dp, vine_error_e result, void *user_data)
{
- if (result == VINE_ERROR_NONE) {
+ if (result == VINE_ERROR_NONE)
printf("Success to open a pub/sub data path\n");
- vine_dp_send(dp, (unsigned char *)PUBSUB_MSG, strlen(PUBSUB_MSG));
- } else {
+ else
PRINT_IF_ERROR(result, "Fail to open the pub/sub data path.");
- }
}
static void __pubsub_received_cb(vine_dp_h dp, size_t received_len, void *user_data)
} while (received_len > 0);
}
+static void __pubsub_peer_joined_cb(vine_dp_h dp, const char *peer_id, void *user_data)
+{
+ printf("peer[%s] is joiend.\n", peer_id);
+ vine_dp_send(dp, (unsigned char *)PUBSUB_MSG, strlen(PUBSUB_MSG));
+}
+
+static void __pubsub_peer_left_cb(vine_dp_h dp, const char *peer_id, void *user_data)
+{
+ printf("peer[%s] is left.\n", peer_id);
+}
+
static void __start_pubsub(bool use_tls, bool use_psk)
{
printf("Start pub/sub\n");
vine_dp_set_security(dp, security);
vine_dp_set_topic(dp, TOPIC);
vine_dp_set_received_cb(dp, __pubsub_received_cb, NULL);
+ vine_dp_set_peer_joined_cb(dp, __pubsub_peer_joined_cb, NULL);
+ vine_dp_set_peer_left_cb(dp, __pubsub_peer_left_cb, NULL);
PRINT_RESULT(vine_dp_open(dp, __pubsub_opened_cb, session), "vine_dp_open");
vine_security_destroy(security);
}