Remove unnecessary param in edge APIs and fix error case.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
/**
* @brief Request result to the server.
*/
-int nns_edge_request (nns_edge_h edge_h, nns_edge_data_h data_h, void *user_data);
+int nns_edge_request (nns_edge_h edge_h, nns_edge_data_h data_h);
/**
* @brief Respond to a request.
/**
* @brief Subscribe a message to a given topic.
*/
-int nns_edge_subscribe (nns_edge_h edge_h, nns_edge_data_h data_h, void *user_data);
+int nns_edge_subscribe (nns_edge_h edge_h, nns_edge_data_h data_h);
/**
* @brief Unsubscribe a message to a given topic.
{
unsigned int n;
- if (!conn || !cmd)
+ if (!conn) {
+ nns_edge_loge ("Failed to send command, edge connection is null.");
return NNS_EDGE_ERROR_INVALID_PARAMETER;
+ }
if (!_nns_edge_cmd_is_valid (cmd)) {
nns_edge_loge ("Failed to send command, invalid command.");
}
if (conn->socket) {
+ nns_edge_cmd_s cmd;
+
+ /* Send error before closing the socket. */
+ _nns_edge_cmd_init (&cmd, _NNS_EDGE_CMD_ERROR, 0);
+ _nns_edge_cmd_send (conn, &cmd);
+
if (!g_socket_close (conn->socket, &err)) {
nns_edge_loge ("Failed to close socket: %s", err->message);
g_clear_error (&err);
break;
/** Receive data from the client */
- _nns_edge_cmd_init (&cmd, _NNS_EDGE_CMD_ERROR, eh->client_id);
+ _nns_edge_cmd_init (&cmd, _NNS_EDGE_CMD_ERROR, client_id);
ret = _nns_edge_cmd_receive (conn, &cmd);
if (ret != NNS_EDGE_ERROR_NONE) {
nns_edge_loge ("Failed to receive data from the connected node.");
/* Send capability and info to check compatibility. */
client_id = eh->is_server ? g_get_monotonic_time () : eh->client_id;
+ if (!eh->caps_str || *eh->caps_str == '\0') {
+ nns_edge_loge ("Cannot accept socket, invalid capability.");
+ goto error;
+ }
+
_nns_edge_cmd_init (&cmd, _NNS_EDGE_CMD_CAPABILITY, client_id);
cmd.info.num = 1;
cmd.info.mem_size[0] = strlen (eh->caps_str) + 1;
* @brief Request result to the server.
*/
int
-nns_edge_request (nns_edge_h edge_h, nns_edge_data_h data_h, void *user_data)
+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;
int ret;
unsigned int i;
- UNUSED (user_data);
eh = (nns_edge_handle_s *) edge_h;
if (!eh) {
nns_edge_loge ("Invalid param, given edge handle is null.");
* @brief Subscribe a message to a given topic.
*/
int
-nns_edge_subscribe (nns_edge_h edge_h, nns_edge_data_h data_h, void *user_data)
+nns_edge_subscribe (nns_edge_h edge_h, nns_edge_data_h data_h)
{
nns_edge_handle_s *eh;
- UNUSED (user_data);
eh = (nns_edge_handle_s *) edge_h;
if (!eh) {
nns_edge_loge ("Invalid param, given edge handle is null.");
}
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;
nns_edge_event_e event = NNS_EDGE_EVENT_UNKNOWN;\r
ne_event_cb_test_s *event_data = (ne_event_cb_test_s *) user_data;\r
\r
+ if (!event_data) {\r
+ /* Cannot update event status. */\r
+ return NNS_EDGE_ERROR_NONE;\r
+ }\r
+\r
nns_edge_event_get_type (event_h, &event);\r
\r
switch (event) {\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, NULL);\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
eh = (nns_edge_handle_s *) edge_h;\r
eh->magic = NNS_EDGE_MAGIC_DEAD;\r
\r
- ret = nns_edge_request (edge_h, data_h, NULL);\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
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, NULL);\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
ret = nns_edge_data_create (&data_h);\r
EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
\r
- ret = nns_edge_subscribe (NULL, data_h, NULL);\r
+ ret = nns_edge_subscribe (NULL, data_h);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
ret = nns_edge_data_destroy (data_h);\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, NULL);\r
+ ret = nns_edge_subscribe (edge_h, data_h);\r
EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
\r
eh->magic = NNS_EDGE_MAGIC;\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, NULL);\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