开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
Fast-RPC
/
include
/
client
/
AsyncThread.h
Fast-RPC
/
include
/
client
/
AsyncThread.h
AsyncThread.h 2.86 KB
一键复制 编辑 原始数据 按行查看 历史
Ricardo Gonzalez 提交于 2014年01月15日 16:29 +08:00 . Move project content to root directory.
/*************************************************************************
* Copyright (c) 2012 eProsima. All rights reserved.
*
* This copy of RPCDDS is licensed to you under the terms described in the
* RPCDDS_LICENSE file included in this distribution.
*
*************************************************************************/
#ifndef _CLIENT_ASYNCTHREAD_H_
#define _CLIENT_ASYNCTHREAD_H_
#include "utils/Middleware.h"
#include <vector>
#include <boost/thread.hpp>
namespace eProsima
{
namespace RPCDDS
{
class AsyncTask;
class ClientRPC;
typedef std::pair<DDS::QueryCondition*, AsyncTask*> AsyncTaskPair;
typedef std::pair<boost::posix_time::time_duration, AsyncTaskPair> AsyncListPair;
typedef std::vector<AsyncListPair> AsyncVector;
/**
* @brief This class is a separated thread used to manage asynchronous tasks.
* @ingroup CLIENTMODULE
*/
class AsyncThread
{
public:
/// \brief Default constructor.
AsyncThread();
/**
* \brief This function initializes all internal objects.
*
* \return 0 value is returned if all objects was created succesfully. In other case -1 value is returned.
*/
int init();
/// \brief This function deletes the internal objects.
void exit();
/**
* \brief This function adds a new asynchronous task.
*
* \param query Associated DDS QueryCondition to the asynchronous task. Cannot be NULL.
* \param task The new asynchronous task. Cannot be NULL.
* \param timeout The time in milliseconds that will be waiting to the reply.
* \return 0 value is returned if function works succesfully. In other case, -1 value is returned.
*/
int addTask(DDS::QueryCondition *query, AsyncTask *task, long timeout);
/**
* @brief This function deletes all asynchronous tasks associated with the RPC endpoint.
*
* @param rpc Pointer to the RPC endpoint. Cannot be NULL.
*/
void deleteAssociatedAsyncTasks(ClientRPC *rpc);
private:
/// \brief This function is executed by the new created thread.
void run();
/// \brief The separated thread that executes the functionality of this object..
boost::thread m_thread;
/// \brief Vector with all asynchronous tasks.
AsyncVector m_vector;
/// \brief Mutex
boost::mutex *m_mutex;
/// \brief Variable condition.
boost::condition_variable m_cond_wake_up;
DDS::GuardCondition *m_guardWaitSet;
DDS::WaitSet *m_waitSet;
DDS::Duration_t m_timeout;
bool m_exit;
};
} // namespace RPCDDS
} // namespace eProsima
#endif // _CLIENT_ASYNCTHREAD_H_
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/damoio/Fast-RPC.git
git@gitee.com:damoio/Fast-RPC.git
damoio
Fast-RPC
Fast-RPC
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /