#define N_BACKLOG 10
#define DEFAULT_TIMEOUT_SEC 10
-#define _STR_NULL(str) ((str) ? (str) : "(NULL)")
/**
* @brief enum for nnstreamer edge query commands.
return ret;
}
+/**
+ * @brief Internal function to send edge data.
+ */
+static int
+_nns_edge_transfer_data (nns_edge_conn_s * conn, nns_edge_data_h data_h,
+ int64_t client_id)
+{
+ nns_edge_cmd_s cmd;
+ unsigned int i;
+ int ret;
+
+ _nns_edge_cmd_init (&cmd, _NNS_EDGE_CMD_TRANSFER_DATA, client_id);
+
+ nns_edge_data_get_count (data_h, &cmd.info.num);
+ for (i = 0; i < cmd.info.num; i++)
+ nns_edge_data_get (data_h, i, &cmd.mem[i], &cmd.info.mem_size[i]);
+
+ ret = _nns_edge_cmd_send (conn, &cmd);
+
+ return ret;
+}
+
/**
* @brief Internal function to invoke event callback.
* @note This function should be called with handle lock.
goto error;
}
- if (!eh->is_server) {
+ if (!(eh->flags & NNS_EDGE_FLAG_SERVER)) {
/* Receive capability and client ID from server. */
_nns_edge_cmd_init (&cmd, _NNS_EDGE_CMD_ERROR, client_id);
ret = _nns_edge_cmd_receive (conn, &cmd);
continue;
}
+ for (i = 0; i < cmd.info.num; i++)
+ nns_edge_data_add (data_h, cmd.mem[i], cmd.info.mem_size[i], NULL);
+
/* Set client ID in edge data */
val = nns_edge_strdup_printf ("%ld", (long int) client_id);
nns_edge_data_set_info (data_h, "client_id", val);
SAFE_FREE (val);
- for (i = 0; i < cmd.info.num; i++) {
- nns_edge_data_add (data_h, cmd.mem[i], cmd.info.mem_size[i], NULL);
- }
-
ret = _nns_edge_invoke_event_cb (eh, NNS_EDGE_EVENT_NEW_DATA_RECEIVED,
data_h, sizeof (nns_edge_data_h), NULL);
if (ret != NNS_EDGE_ERROR_NONE) {
goto error;
}
- client_id = eh->is_server ? g_get_monotonic_time () : eh->client_id;
+ if (eh->flags & NNS_EDGE_FLAG_SERVER)
+ client_id = g_get_monotonic_time ();
+ else
+ client_id = eh->client_id;
/* Send capability and info to check compatibility. */
- if (eh->is_server) {
+ if (eh->flags & NNS_EDGE_FLAG_SERVER) {
if (!STR_IS_VALID (eh->caps_str)) {
nns_edge_loge ("Cannot accept socket, invalid capability.");
goto error;
}
/**
- * @brief Get registered handle. If not registered, create new handle and register it.
+ * @brief Create edge handle.
*/
int
-nns_edge_create_handle (const char *id, const char *topic, nns_edge_h * edge_h)
+nns_edge_create_handle (const char *id, nns_edge_connect_type_e connect_type,
+ int flags, nns_edge_h * edge_h)
{
nns_edge_handle_s *eh;
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- if (!STR_IS_VALID (topic)) {
- nns_edge_loge ("Invalid param, given topic is invalid.");
+ if (connect_type < 0 || connect_type >= NNS_EDGE_CONNECT_TYPE_UNKNOWN) {
+ nns_edge_loge ("Invalid param, set valid connect type.");
+ return NNS_EDGE_ERROR_INVALID_PARAMETER;
+ }
+
+ /**
+ * @todo handle flag (receive | send)
+ * e.g., send only case: listener is unnecessary.
+ */
+ if (flags <= 0 || !(flags & NNS_EDGE_FLAG_ALL)) {
+ nns_edge_loge ("Invalid param, set exact edge flags.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- /**
- * @todo manage edge handles
- * 1. consider adding hash table or list to manage edge handles.
- * 2. compare topic and return error if existing topic in handle is different.
- */
eh = (nns_edge_handle_s *) malloc (sizeof (nns_edge_handle_s));
if (!eh) {
nns_edge_loge ("Failed to allocate memory for edge handle.");
nns_edge_lock_init (eh);
eh->magic = NNS_EDGE_MAGIC;
eh->id = nns_edge_strdup (id);
- eh->topic = nns_edge_strdup (topic);
- eh->protocol = NNS_EDGE_PROTOCOL_TCP;
- eh->is_server = false;
+ eh->connect_type = connect_type;
eh->ip = nns_edge_strdup ("localhost");
eh->port = 0;
- eh->caps_str = NULL;
+ eh->flags = flags;
/* Connection data for each client ID. */
eh->conn_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL,
* @brief Start the nnstreamer edge.
*/
int
-nns_edge_start (nns_edge_h edge_h, bool is_server)
+nns_edge_start (nns_edge_h edge_h)
{
GSocketAddress *saddr = NULL;
GError *err = NULL;
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- eh->is_server = is_server;
- if (!is_server && 0 == eh->port) {
+ if (eh->port <= 0) {
eh->port = nns_edge_get_available_port ();
if (eh->port <= 0) {
nns_edge_loge ("Failed to start edge. Cannot get available port.");
SAFE_FREE (eh->id);
SAFE_FREE (eh->topic);
SAFE_FREE (eh->ip);
+ SAFE_FREE (eh->dest_ip);
SAFE_FREE (eh->caps_str);
nns_edge_unlock (eh);
* @brief Connect to the destination node.
*/
int
-nns_edge_connect (nns_edge_h edge_h, nns_edge_protocol_e protocol,
- const char *ip, int port)
+nns_edge_connect (nns_edge_h edge_h, const char *dest_ip, int dest_port)
{
nns_edge_handle_s *eh;
int ret;
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- if (!STR_IS_VALID (ip)) {
+ if (!STR_IS_VALID (dest_ip)) {
nns_edge_loge ("Invalid param, given IP is invalid.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
return NNS_EDGE_ERROR_CONNECTION_FAILURE;
}
- eh->protocol = protocol;
-
- /** Connect to info channel. */
- ret = _nns_edge_connect_to (eh, eh->client_id, ip, port);
+ /* Connect to info channel. */
+ ret = _nns_edge_connect_to (eh, eh->client_id, dest_ip, dest_port);
if (ret != NNS_EDGE_ERROR_NONE) {
- nns_edge_loge ("Failed to connect to %s:%d", ip, port);
+ nns_edge_loge ("Failed to connect to %s:%d", dest_ip, dest_port);
+ } else {
+ SAFE_FREE (eh->dest_ip);
+ eh->dest_ip = nns_edge_strdup (dest_ip);
+ eh->dest_port = dest_port;
}
nns_edge_unlock (eh);
}
/**
- * @brief Publish a message to a given topic.
+ * @brief Publish a message to desination (broker or connected node).
*/
int
nns_edge_publish (nns_edge_h edge_h, nns_edge_data_h data_h)
{
nns_edge_handle_s *eh;
+ nns_edge_conn_data_s *conn_data;
+ int64_t client_id;
+ char *val;
+ int ret = NNS_EDGE_ERROR_NONE;
eh = (nns_edge_handle_s *) edge_h;
if (!eh) {
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- nns_edge_lock (eh);
-
- if (!NNS_EDGE_MAGIC_IS_VALID (eh)) {
- nns_edge_loge ("Invalid param, given edge handle is invalid.");
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
- }
-
- /** @todo update code (publish data) */
-
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_NONE;
-}
-
-/**
- * @brief Request result to the server.
- */
-int
-nns_edge_request (nns_edge_h edge_h, nns_edge_data_h data_h)
-{
- nns_edge_handle_s *eh;
- nns_edge_conn_data_s *conn_data;
- nns_edge_cmd_s cmd;
- int ret;
- unsigned int i;
-
- eh = (nns_edge_handle_s *) edge_h;
- if (!eh) {
- nns_edge_loge ("Invalid param, given edge handle is null.");
+ ret = nns_edge_data_get_info (data_h, "client_id", &val);
+ if (ret != NNS_EDGE_ERROR_NONE) {
+ nns_edge_loge ("Cannot find client ID in edge data.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- if (nns_edge_data_is_valid (data_h) != NNS_EDGE_ERROR_NONE) {
- nns_edge_loge ("Invalid param, given edge data is invalid.");
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
- }
+ client_id = strtoll (val, NULL, 10);
+ SAFE_FREE (val);
nns_edge_lock (eh);
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- conn_data = _nns_edge_get_connection (eh, eh->client_id);
- if (!conn_data || !_nns_edge_check_connection (conn_data->sink_conn)) {
- nns_edge_loge ("Failed to request, connection failure.");
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_CONNECTION_FAILURE;
- }
-
- _nns_edge_cmd_init (&cmd, _NNS_EDGE_CMD_TRANSFER_DATA, eh->client_id);
+ /** @todo update code for each connect type */
+ switch (eh->connect_type) {
+ case NNS_EDGE_CONNECT_TYPE_TCP:
+ case NNS_EDGE_CONNECT_TYPE_HYBRID:
+ conn_data = _nns_edge_get_connection (eh, client_id);
+ if (!conn_data) {
+ nns_edge_loge
+ ("Cannot find connection, invalid client ID or connection closed.");
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
+ break;
+ }
- nns_edge_data_get_count (data_h, &cmd.info.num);
- for (i = 0; i < cmd.info.num; i++) {
- nns_edge_data_get (data_h, i, &cmd.mem[i], &cmd.info.mem_size[i]);
+ ret = _nns_edge_transfer_data (conn_data->sink_conn, data_h, client_id);
+ if (ret != NNS_EDGE_ERROR_NONE)
+ nns_edge_loge ("Failed to send edge data.");
+ break;
+ default:
+ break;
}
- ret = _nns_edge_cmd_send (conn_data->sink_conn, &cmd);
- if (ret != NNS_EDGE_ERROR_NONE)
- nns_edge_loge ("Failed to request, cannot send edge data.");
-
nns_edge_unlock (eh);
return ret;
}
/**
- * @brief Subscribe a message to a given topic.
+ * @brief Subscribe a message from broker.
*/
int
-nns_edge_subscribe (nns_edge_h edge_h, nns_edge_data_h data_h)
+nns_edge_subscribe (nns_edge_h edge_h)
{
nns_edge_handle_s *eh;
+ int ret = NNS_EDGE_ERROR_NONE;
eh = (nns_edge_handle_s *) edge_h;
if (!eh) {
return NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- if (nns_edge_data_is_valid (data_h) != NNS_EDGE_ERROR_NONE) {
- nns_edge_loge ("Invalid param, given edge data is invalid.");
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
- }
-
nns_edge_lock (eh);
if (!NNS_EDGE_MAGIC_IS_VALID (eh)) {
nns_edge_loge ("Invalid param, given edge handle is invalid.");
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
+ goto done;
+ }
+
+ if (eh->connect_type != NNS_EDGE_CONNECT_TYPE_MQTT) {
+ nns_edge_loge ("Invalid connect type, cannot subscribe a message.");
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
+ goto done;
+ }
+
+ if (!STR_IS_VALID (eh->topic)) {
+ nns_edge_loge ("Invalid topic, cannot subscribe a message.");
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
+ goto done;
}
/** @todo update code (subscribe) */
+done:
nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_NONE;
+ return ret;
}
/**
- * @brief Unsubscribe a message to a given topic.
+ * @brief Unsubscribe a message.
*/
int
nns_edge_unsubscribe (nns_edge_h edge_h)
{
nns_edge_handle_s *eh;
+ int ret = NNS_EDGE_ERROR_NONE;
eh = (nns_edge_handle_s *) edge_h;
if (!eh) {
if (!NNS_EDGE_MAGIC_IS_VALID (eh)) {
nns_edge_loge ("Invalid param, given edge handle is invalid.");
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
- }
-
- /** @todo update code (unsubscribe) */
-
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_NONE;
-}
-
-/**
- * @brief Get the topic of edge handle. Caller should release returned string using free().
- * @todo is this necessary?
- */
-int
-nns_edge_get_topic (nns_edge_h edge_h, char **topic)
-{
- nns_edge_handle_s *eh;
-
- eh = (nns_edge_handle_s *) edge_h;
- if (!eh) {
- nns_edge_loge ("Invalid param, given edge handle is null.");
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
+ goto done;
}
- if (!topic) {
- nns_edge_loge ("Invalid param, topic should not be null.");
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
+ if (eh->connect_type != NNS_EDGE_CONNECT_TYPE_MQTT) {
+ nns_edge_loge ("Invalid connect type, cannot subscribe a message.");
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
+ goto done;
}
- nns_edge_lock (eh);
-
- if (!NNS_EDGE_MAGIC_IS_VALID (eh)) {
- nns_edge_loge ("Invalid param, given edge handle is invalid.");
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
+ if (!STR_IS_VALID (eh->topic)) {
+ nns_edge_loge ("Invalid topic, cannot subscribe a message.");
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
+ goto done;
}
- *topic = nns_edge_strdup (eh->topic);
+ /** @todo update code (unsubscribe) */
+done:
nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_NONE;
+ return ret;
}
/**
nns_edge_set_info (nns_edge_h edge_h, const char *key, const char *value)
{
nns_edge_handle_s *eh;
+ int ret = NNS_EDGE_ERROR_NONE;
eh = (nns_edge_handle_s *) edge_h;
if (!eh) {
SAFE_FREE (eh->ip);
eh->ip = nns_edge_strdup (value);
} else if (0 == strcasecmp (key, "PORT")) {
- eh->port = g_ascii_strtoll (value, NULL, 10);
+ eh->port = (int) strtoll (value, NULL, 10);
} else if (0 == strcasecmp (key, "TOPIC")) {
SAFE_FREE (eh->topic);
eh->topic = nns_edge_strdup (value);
+ } else if (0 == strcasecmp (key, "ID") || 0 == strcasecmp (key, "CLIENT_ID")) {
+ /* Not allowed key */
+ nns_edge_loge ("Cannot update %s.", key);
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
} else {
nns_edge_logw ("Failed to set edge info. Unknown key: %s", key);
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
}
nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_NONE;
+ return ret;
}
/**
nns_edge_get_info (nns_edge_h edge_h, const char *key, char **value)
{
nns_edge_handle_s *eh;
+ int ret = NNS_EDGE_ERROR_NONE;
eh = (nns_edge_handle_s *) edge_h;
if (!eh) {
*value = nns_edge_strdup_printf ("%d", eh->port);
} else if (0 == strcasecmp (key, "TOPIC")) {
*value = nns_edge_strdup (eh->topic);
+ } else if (0 == strcasecmp (key, "ID")) {
+ *value = nns_edge_strdup (eh->id);
+ } else if (0 == strcasecmp (key, "CLIENT_ID")) {
+ if (eh->flags & NNS_EDGE_FLAG_SERVER) {
+ nns_edge_loge ("Cannot get the client ID, it was started as a server.");
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
+ } else {
+ *value = nns_edge_strdup_printf ("%ld", (long int) eh->client_id);
+ }
} else {
nns_edge_logw ("Failed to get edge info. Unknown key: %s", key);
+ ret = NNS_EDGE_ERROR_INVALID_PARAMETER;
}
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_NONE;
-}
-
-/**
- * @brief Respond to a request.
- */
-int
-nns_edge_respond (nns_edge_h edge_h, nns_edge_data_h data_h)
-{
- nns_edge_handle_s *eh;
- nns_edge_conn_data_s *conn_data;
- nns_edge_cmd_s cmd;
- int64_t client_id;
- char *val;
- int ret;
- unsigned int i;
-
- eh = (nns_edge_handle_s *) edge_h;
- if (!eh) {
- nns_edge_loge ("Invalid param, given edge handle is null.");
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
- }
-
- if (nns_edge_data_is_valid (data_h) != NNS_EDGE_ERROR_NONE) {
- nns_edge_loge ("Invalid param, given edge data is invalid.");
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
- }
-
- nns_edge_lock (eh);
-
- if (!NNS_EDGE_MAGIC_IS_VALID (eh)) {
- nns_edge_loge ("Invalid param, given edge handle is invalid.");
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
- }
-
- ret = nns_edge_data_get_info (data_h, "client_id", &val);
- if (ret != NNS_EDGE_ERROR_NONE) {
- nns_edge_loge ("Cannot find client ID in edge data.");
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
- }
-
- client_id = strtoll (val, NULL, 10);
- SAFE_FREE (val);
-
- conn_data = _nns_edge_get_connection (eh, client_id);
- if (!conn_data) {
- nns_edge_loge
- ("Cannot find connection, invalid client ID or connection closed.");
- nns_edge_unlock (eh);
- return NNS_EDGE_ERROR_INVALID_PARAMETER;
- }
-
- _nns_edge_cmd_init (&cmd, _NNS_EDGE_CMD_TRANSFER_DATA, client_id);
-
- nns_edge_data_get_count (data_h, &cmd.info.num);
- for (i = 0; i < cmd.info.num; i++) {
- nns_edge_data_get (data_h, i, &cmd.mem[i], &cmd.info.mem_size[i]);
- }
-
- ret = _nns_edge_cmd_send (conn_data->sink_conn, &cmd);
- if (ret != NNS_EDGE_ERROR_NONE)
- nns_edge_loge ("Failed to respond, cannot send edge data.");
-
nns_edge_unlock (eh);
return ret;
}
* @note This is test code, responding to client.\r
* Recommend not to call edge API in event callback.\r
*/\r
- ret = nns_edge_respond (_td->handle, data_h);\r
+ ret = nns_edge_publish (_td->handle, data_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
} else {\r
/* Compare received data */\r
ne_test_data_s *_td = (ne_test_data_s *) data;\r
int ret;\r
\r
- ret = nns_edge_start (_td->handle, _td->is_server);\r
+ ret = nns_edge_start (_td->handle);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
_td->running = true;\r
void *data;\r
unsigned int i, retry;\r
int ret, port;\r
- char *val;\r
+ char *val, *client1_id, *client2_id;\r
\r
_td_server = _get_test_data (true);\r
_td_client1 = _get_test_data (false);\r
\r
/* Prepare server (127.0.0.1:port) */\r
val = nns_edge_strdup_printf ("%d", port);\r
- nns_edge_create_handle ("temp-server", "temp-topic", &server_h);\r
+ nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER), &server_h);\r
nns_edge_set_event_callback (server_h, _test_edge_event_cb, _td_server);\r
nns_edge_set_info (server_h, "IP", "127.0.0.1");\r
nns_edge_set_info (server_h, "PORT", val);\r
nns_edge_free (val);\r
\r
/* Prepare client */\r
- nns_edge_create_handle ("temp-client1", "temp-topic", &client1_h);\r
+ nns_edge_create_handle ("temp-client1", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &client1_h);\r
nns_edge_set_event_callback (client1_h, _test_edge_event_cb, _td_client1);\r
nns_edge_set_info (client1_h, "CAPS", "test client1");\r
_td_client1->handle = client1_h;\r
\r
- nns_edge_create_handle ("temp-client2", "temp-topic", &client2_h);\r
+ nns_edge_create_handle ("temp-client2", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &client2_h);\r
nns_edge_set_event_callback (client2_h, _test_edge_event_cb, _td_client2);\r
nns_edge_set_info (client2_h, "CAPS", "test client2");\r
_td_client2->handle = client2_h;\r
usleep (20000);\r
} while (!g_main_loop_is_running (_td_client2->loop));\r
\r
- ret = nns_edge_connect (client1_h, NNS_EDGE_PROTOCOL_TCP, "127.0.0.1", port);\r
+ ret = nns_edge_connect (client1_h, "127.0.0.1", port);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
usleep (10000);\r
- ret = nns_edge_connect (client2_h, NNS_EDGE_PROTOCOL_TCP, "127.0.0.1", port);\r
+ ret = nns_edge_connect (client2_h, "127.0.0.1", port);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
sleep (2);\r
data = malloc (data_len);\r
ASSERT_TRUE (data != NULL);\r
\r
+ client1_id = client2_id = NULL;\r
+ ret = nns_edge_get_info (client1_h, "client_id", &client1_id);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ ret = nns_edge_get_info (client2_h, "client_id", &client2_id);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
for (i = 0; i < 10U; i++)\r
((unsigned int *) data)[i] = i;\r
\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
for (i = 0; i < 5U; i++) {\r
- ret = nns_edge_request (client1_h, data_h);\r
+ ret = nns_edge_data_set_info (data_h, "client_id", client1_id);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ ret = nns_edge_publish (client1_h, data_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
usleep (10000);\r
- ret = nns_edge_request (client2_h, data_h);\r
+ ret = nns_edge_data_set_info (data_h, "client_id", client2_id);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ ret = nns_edge_publish (client2_h, data_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
usleep (100000);\r
EXPECT_TRUE (_td_client1->received > 0);\r
EXPECT_TRUE (_td_client2->received > 0);\r
\r
+ nns_edge_free (client1_id);\r
+ nns_edge_free (client2_id);\r
+\r
_free_test_data (_td_server);\r
_free_test_data (_td_client1);\r
_free_test_data (_td_client2);\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle (NULL, "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle (NULL, NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", NULL, &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_UNKNOWN,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
{\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", NULL);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), NULL);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("", NNS_EDGE_CONNECT_TYPE_MQTT,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+ NNS_EDGE_FLAG_NONE, &edge_h);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
{\r
int ret;\r
\r
- ret = nns_edge_start (NULL, false);\r
+ ret = nns_edge_start (NULL);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
nns_edge_handle_s *eh;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh = (nns_edge_handle_s *) edge_h;\r
eh->magic = NNS_EDGE_MAGIC_DEAD;\r
\r
- ret = nns_edge_start (edge_h, false);\r
+ ret = nns_edge_start (edge_h);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh->magic = NNS_EDGE_MAGIC;\r
nns_edge_handle_s *eh;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh = (nns_edge_handle_s *) edge_h;\r
\r
_td = _get_test_data (false);\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_set_event_callback (edge_h, _test_edge_event_cb, _td);\r
\r
_td = _get_test_data (false);\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh = (nns_edge_handle_s *) edge_h;\r
{\r
int ret;\r
\r
- ret = nns_edge_connect (NULL, NNS_EDGE_PROTOCOL_TCP, "127.0.0.1", 80);\r
+ ret = nns_edge_connect (NULL, "127.0.0.1", 80);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
nns_edge_handle_s *eh;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_set_event_callback (edge_h, _test_edge_event_cb, NULL);\r
eh = (nns_edge_handle_s *) edge_h;\r
eh->magic = NNS_EDGE_MAGIC_DEAD;\r
\r
- ret = nns_edge_connect (edge_h, NNS_EDGE_PROTOCOL_TCP, "127.0.0.1", 80);\r
+ ret = nns_edge_connect (edge_h, "127.0.0.1", 80);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh->magic = NNS_EDGE_MAGIC;\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_set_event_callback (edge_h, _test_edge_event_cb, NULL);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
- ret = nns_edge_connect (edge_h, NNS_EDGE_PROTOCOL_TCP, NULL, 80);\r
+ ret = nns_edge_connect (edge_h, NULL, 80);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_release_handle (edge_h);\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_set_event_callback (edge_h, _test_edge_event_cb, NULL);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
- ret = nns_edge_connect (edge_h, NNS_EDGE_PROTOCOL_TCP, "", 80);\r
+ ret = nns_edge_connect (edge_h, "", 80);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_release_handle (edge_h);\r
nns_edge_handle_s *eh;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh = (nns_edge_handle_s *) edge_h;\r
ret = nns_edge_data_create (&data_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
+ ret = nns_edge_data_set_info (data_h, "client_id", "10");\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
ret = nns_edge_publish (NULL, data_h);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
nns_edge_handle_s *eh;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_data_create (&data_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
+ ret = nns_edge_data_set_info (data_h, "client_id", "10");\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
eh = (nns_edge_handle_s *) edge_h;\r
eh->magic = NNS_EDGE_MAGIC_DEAD;\r
\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_publish (edge_h, NULL);\r
}\r
\r
/**\r
- * @brief Request - invalid param.\r
- */\r
-TEST(edge, requestInvalidParam01_n)\r
-{\r
- nns_edge_data_h data_h;\r
- int ret;\r
-\r
- ret = nns_edge_data_create (&data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_request (NULL, data_h);\r
- EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_destroy (data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-}\r
-\r
-/**\r
- * @brief Request - invalid param.\r
- */\r
-TEST(edge, requestInvalidParam02_n)\r
-{\r
- nns_edge_h edge_h;\r
- nns_edge_data_h data_h;\r
- nns_edge_handle_s *eh;\r
- int ret;\r
-\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_create (&data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- eh = (nns_edge_handle_s *) edge_h;\r
- eh->magic = NNS_EDGE_MAGIC_DEAD;\r
-\r
- ret = nns_edge_request (edge_h, data_h);\r
- EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- eh->magic = NNS_EDGE_MAGIC;\r
-\r
- ret = nns_edge_release_handle (edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_destroy (data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-}\r
-\r
-/**\r
- * @brief Request - invalid param.\r
- */\r
-TEST(edge, requestInvalidParam03_n)\r
-{\r
- nns_edge_h edge_h;\r
- int ret;\r
-\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_request (edge_h, NULL);\r
- EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_release_handle (edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-}\r
-\r
-/**\r
- * @brief Respond - invalid param.\r
- */\r
-TEST(edge, respondInvalidParam01_n)\r
-{\r
- nns_edge_data_h data_h;\r
- int ret;\r
-\r
- ret = nns_edge_data_create (&data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_set_info (data_h, "client_id", "10");\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_respond (NULL, data_h);\r
- EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_destroy (data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-}\r
-\r
-/**\r
- * @brief Respond - invalid param.\r
- */\r
-TEST(edge, respondInvalidParam02_n)\r
-{\r
- nns_edge_h edge_h;\r
- nns_edge_data_h data_h;\r
- nns_edge_handle_s *eh;\r
- int ret;\r
-\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_create (&data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_set_info (data_h, "client_id", "10");\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- eh = (nns_edge_handle_s *) edge_h;\r
- eh->magic = NNS_EDGE_MAGIC_DEAD;\r
-\r
- ret = nns_edge_respond (edge_h, data_h);\r
- EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- eh->magic = NNS_EDGE_MAGIC;\r
-\r
- ret = nns_edge_release_handle (edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_destroy (data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-}\r
-\r
-/**\r
- * @brief Respond - invalid param.\r
- */\r
-TEST(edge, respondInvalidParam03_n)\r
-{\r
- nns_edge_h edge_h;\r
- int ret;\r
-\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_respond (edge_h, NULL);\r
- EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_release_handle (edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-}\r
-\r
-/**\r
- * @brief Respond - invalid param.\r
+ * @brief Publish - invalid param.\r
*/\r
-TEST(edge, respondInvalidParam04_n)\r
+TEST(edge, publishInvalidParam04_n)\r
{\r
nns_edge_h edge_h;\r
nns_edge_data_h data_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_data_create (&data_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
/* No client ID */\r
- ret = nns_edge_respond (edge_h, data_h);\r
+ ret = nns_edge_publish (edge_h, data_h);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_release_handle (edge_h);\r
*/\r
TEST(edge, subscribeInvalidParam01_n)\r
{\r
- nns_edge_data_h data_h;\r
int ret;\r
\r
- ret = nns_edge_data_create (&data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_subscribe (NULL, data_h);\r
+ ret = nns_edge_subscribe (NULL);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_destroy (data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
/**\r
TEST(edge, subscribeInvalidParam02_n)\r
{\r
nns_edge_h edge_h;\r
- nns_edge_data_h data_h;\r
nns_edge_handle_s *eh;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_create (&data_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh = (nns_edge_handle_s *) edge_h;\r
eh->magic = NNS_EDGE_MAGIC_DEAD;\r
\r
- ret = nns_edge_subscribe (edge_h, data_h);\r
+ ret = nns_edge_subscribe (edge_h);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh->magic = NNS_EDGE_MAGIC;\r
\r
ret = nns_edge_release_handle (edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_data_destroy (data_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-}\r
-\r
-/**\r
- * @brief Subscribe - invalid param.\r
- */\r
-TEST(edge, subscribeInvalidParam03_n)\r
-{\r
- nns_edge_h edge_h;\r
- int ret;\r
-\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_subscribe (edge_h, NULL);\r
- EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_release_handle (edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
/**\r
nns_edge_handle_s *eh;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh = (nns_edge_handle_s *) edge_h;\r
}\r
\r
/**\r
- * @brief Get topic.\r
- */\r
-TEST(edge, getTopic)\r
-{\r
- nns_edge_h edge_h;\r
- char *topic = NULL;\r
- int ret;\r
-\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_get_topic (edge_h, &topic);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
- EXPECT_STREQ (topic, "temp-topic");\r
- free (topic);\r
-\r
- ret = nns_edge_release_handle (edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-}\r
-\r
-/**\r
- * @brief Get topic - invalid param.\r
+ * @brief Set info - invalid param.\r
*/\r
-TEST(edge, getTopicInvalidParam01_n)\r
+TEST(edge, setInfoInvalidParam01_n)\r
{\r
- char *topic = NULL;\r
int ret;\r
\r
- ret = nns_edge_get_topic (NULL, &topic);\r
+ ret = nns_edge_set_info (NULL, "caps", "temp-caps");\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
/**\r
- * @brief Get topic - invalid param.\r
+ * @brief Set info - invalid param.\r
*/\r
-TEST(edge, getTopicInvalidParam02_n)\r
+TEST(edge, setInfoInvalidParam02_n)\r
{\r
nns_edge_h edge_h;\r
nns_edge_handle_s *eh;\r
- char *topic = NULL;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh = (nns_edge_handle_s *) edge_h;\r
eh->magic = NNS_EDGE_MAGIC_DEAD;\r
\r
- ret = nns_edge_get_topic (edge_h, &topic);\r
+ ret = nns_edge_set_info (edge_h, "caps", "temp-caps");\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh->magic = NNS_EDGE_MAGIC;\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
}\r
\r
-/**\r
- * @brief Get topic - invalid param.\r
- */\r
-TEST(edge, getTopicInvalidParam03_n)\r
-{\r
- nns_edge_h edge_h;\r
- int ret;\r
-\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_get_topic (edge_h, NULL);\r
- EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
-\r
- ret = nns_edge_release_handle (edge_h);\r
- EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
-}\r
-\r
-/**\r
- * @brief Set info - invalid param.\r
- */\r
-TEST(edge, setInfoInvalidParam01_n)\r
-{\r
- int ret;\r
-\r
- ret = nns_edge_set_info (NULL, "topic", "temp-topic");\r
- EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
-}\r
-\r
/**\r
* @brief Set info - invalid param.\r
*/\r
-TEST(edge, setInfoInvalidParam02_n)\r
+TEST(edge, setInfoInvalidParam03_n)\r
{\r
nns_edge_h edge_h;\r
- nns_edge_handle_s *eh;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
- eh = (nns_edge_handle_s *) edge_h;\r
- eh->magic = NNS_EDGE_MAGIC_DEAD;\r
-\r
- ret = nns_edge_set_info (edge_h, "topic", "temp-topic");\r
+ ret = nns_edge_set_info (edge_h, NULL, "temp-caps");\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
- eh->magic = NNS_EDGE_MAGIC;\r
-\r
ret = nns_edge_release_handle (edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
}\r
/**\r
* @brief Set info - invalid param.\r
*/\r
-TEST(edge, setInfoInvalidParam03_n)\r
+TEST(edge, setInfoInvalidParam04_n)\r
{\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
- ret = nns_edge_set_info (edge_h, NULL, "temp-topic");\r
+ ret = nns_edge_set_info (edge_h, "", "temp-caps");\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_release_handle (edge_h);\r
/**\r
* @brief Set info - invalid param.\r
*/\r
-TEST(edge, setInfoInvalidParam04_n)\r
+TEST(edge, setInfoInvalidParam05_n)\r
{\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
- ret = nns_edge_set_info (edge_h, "", "temp-topic");\r
+ ret = nns_edge_set_info (edge_h, "caps", NULL);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_release_handle (edge_h);\r
/**\r
* @brief Set info - invalid param.\r
*/\r
-TEST(edge, setInfoInvalidParam05_n)\r
+TEST(edge, setInfoInvalidParam06_n)\r
{\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
- ret = nns_edge_set_info (edge_h, "topic", NULL);\r
+ ret = nns_edge_set_info (edge_h, "caps", "");\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_release_handle (edge_h);\r
/**\r
* @brief Set info - invalid param.\r
*/\r
-TEST(edge, setInfoInvalidParam06_n)\r
+TEST(edge, setInfoInvalidParam07_n)\r
{\r
nns_edge_h edge_h;\r
int ret;\r
\r
- ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ ret = nns_edge_create_handle ("temp-id", NNS_EDGE_CONNECT_TYPE_TCP,\r
+ (NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND), &edge_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
- ret = nns_edge_set_info (edge_h, "topic", "");\r
+ /* Not allowed key */\r
+ ret = nns_edge_set_info (edge_h, "id", "temp-id2");\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+ ret = nns_edge_set_info (edge_h, "client_id", "temp-cid");\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_release_handle (edge_h);\r