VINE_LOGI("-");
}
-static void _process_websocket_op_request(int fd)
+static void _do_process_op(websocket_op_s *op)
{
- RET_IF(op_queue.empty(), "operation queue is NULL");
-
- websocket_op_s *op = op_queue.front();
- RET_IF(op == NULL, "op is NULL");
- RET_IF(op->fd != fd, "Not matched event. op->fd[%d] fd[%d]", op->fd, fd);
+ if (op == NULL)
+ return;
- op_queue.pop();
+ VINE_LOGD("op[%p] op->ws[%p] op->fd[%d] op->code[%d]", op, op->ws, op->fd, op->code);
if (!op->ws && op->code != WEBSOCKET_OP_DEINIT) {
_del_websocket_op_request(op);
_del_websocket_op_request(op);
}
-static void do_func(websocket_op_s *op)
+static void _process_websocket_op_request(int fd)
+{
+ RET_IF(op_queue.empty(), "operation queue is NULL");
+
+ VINE_LOGD("fd[%d]", fd);
+ op_queue.do_remove_if([&](websocket_op_s *op) {
+ return op->fd == fd;
+ }, _do_process_op);
+}
+
+static void _do_flush_op(websocket_op_s *op)
{
if (op == NULL)
return;
while (count-- > 0) {
op_queue.do_remove_if([&](websocket_op_s *op) {
return (ws == NULL || (op && op->ws == ws));
- }, do_func);
+ }, _do_flush_op);
}
}
break;
case LWS_CALLBACK_LOCK_POLL:
- pthread_mutex_lock(&g_lws_mutex);
+ n = pthread_mutex_lock(&g_lws_mutex);
break;
case LWS_CALLBACK_UNLOCK_POLL:
- pthread_mutex_unlock(&g_lws_mutex);
+ n = pthread_mutex_unlock(&g_lws_mutex);
break;
/* --- protocol lifecycle callbacks --- */
*dp = new DPPubSub((void *)eq);
}
+ VINE_LOGD("dp[%p]", *dp);
return VINE_ERROR_NONE;
}
RET_VAL_IF(dp == NULL, VINE_ERROR_INVALID_PARAMETER, "dp is null.");
RET_VAL_IF(callback == NULL, VINE_ERROR_INVALID_PARAMETER, "callback is null.");
+ VINE_LOGD("dp[%p]", dp);
DataPath *_dp = static_cast<DataPath *>(dp);
return _dp->open(callback, user_data);
}
{
RET_VAL_IF(dp == NULL, VINE_ERROR_INVALID_PARAMETER, "dp is null.");
+ VINE_LOGD("dp[%p]", dp);
DataPath *_dp = static_cast<DataPath *>(dp);
return _dp->close();
}
RET_VAL_IF(dp == NULL, VINE_ERROR_INVALID_PARAMETER, "dp is null.");
RET_VAL_IF(buf == NULL, VINE_ERROR_INVALID_PARAMETER, "buf is null.");
+ VINE_LOGD("dp[%p]", dp);
DataPath *_dp = static_cast<DataPath *>(dp);
return _dp->send(buf, len);
}
RET_VAL_IF(buf == NULL, VINE_ERROR_INVALID_PARAMETER, "buf is null.");
RET_VAL_IF(read_len == NULL, VINE_ERROR_INVALID_PARAMETER, "read_len is null.");
+ VINE_LOGD("dp[%p]", dp);
DataPath *_dp = static_cast<DataPath *>(dp);
return _dp->recv(buf, buf_len, read_len);
}