当前位置: 首页 > news >正文

wordpress语言中文版优化大师app下载安装

wordpress语言中文版,优化大师app下载安装,微商引流推广平台,开店做网站有什么好处提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言管理的字段连接内存管理对象 前言 我们的网络通信框架使用的muduo库,而在mudu库中是已经有了连接的概念,但是我们呢还有一个信道的概念…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 管理的字段
  • 连接内存管理对象


前言

我们的网络通信框架使用的muduo库,而在mudu库中是已经有了连接的概念,但是我们呢还有一个信道的概念muduo库是没有的。其实muduo库是有一个channel的概念的,只不过这个概念和我们这里的channel不一样。
这也就是我们要封装这个模块的意义。


管理的字段

有一个信道内存管理句柄,因为一个连接上可以有多个信道。

 class Connection{private:muduo::net::TcpConnectionPtr _conn;ProtobufCodecPtr _codec;VirtualHost::ptr _host;ConsumerManager::ptr _cmp;ThreadPool::ptr _pool;ChannelManager::ptr _channels;}

提供了三个操作分别是的打开信道,关闭信道和获取指定信道。
就是调用信道内存管理句柄进行操作。
打开信道和关闭都是需要给客户端返回响应的。

 void openChannel(const openChannelRequestPtr &req){bool ret = _channels->openChannel(req->cid(),_host,_cmp,_codec,_conn,_pool);if(ret == false){return basicResponse(false,req->rid(),req->cid());}return basicResponse(true,req->rid(),req->cid());
}void closeChannel(const closeChannelRequestPtr &req){_channels->closeChannel(req->cid());return basicResponse(true, req->rid(), req->cid());
}Channel::ptr getChannel(const std::string &cid){return _channels->getChannel(cid);
}

连接内存管理对象

服务器上可能会存在多条链接,因此我们也需要把连接管理起来
通过一个哈希表,建立tcp连接和连接管理对象的映射。

class ConnectionManager{private:std::mutex _mutex;std::unordered_map<muduo::net::TcpConnectionPtr,Connection::ptr> _conns;}

提供三个操作,新建连接。关闭连接和获取指定连接。
在服务器中就需要管理这个句柄,就可以管理所有的channel了。

void newConnection(const VirtualHost::ptr &host,const ConsumerManager::ptr &cmp,const ProtobufCodecPtr &codec,const muduo::net::TcpConnectionPtr &conn,const ThreadPool::ptr &pool){std::unique_lock<std::mutex> lock(_mutex);auto it = _conns.find(conn);if (it != _conns.end()) {return ;}Connection::ptr self_conn = std::make_shared<Connection>(host,cmp, codec, conn, pool);_conns.insert(std::make_pair(conn, self_conn));   }void delConnection(const muduo::net::TcpConnectionPtr &conn){std::unique_lock<std::mutex> lock(_mutex);_conns.erase(conn);}Connection::ptr getConnection(const muduo::net::TcpConnectionPtr &conn){std::unique_lock<std::mutex> lock(_mutex);auto it = _conns.find(conn);if (it == _conns.end()) {return Connection::ptr();}return it->second;}

文章转载自:
http://seizable.rywn.cn
http://delegalize.rywn.cn
http://easy.rywn.cn
http://dankly.rywn.cn
http://anaptyxis.rywn.cn
http://redetermine.rywn.cn
http://pinball.rywn.cn
http://subdual.rywn.cn
http://jonah.rywn.cn
http://baudelairean.rywn.cn
http://cacholong.rywn.cn
http://distress.rywn.cn
http://psychedelicize.rywn.cn
http://athrob.rywn.cn
http://larry.rywn.cn
http://khaki.rywn.cn
http://bmta.rywn.cn
http://fritillary.rywn.cn
http://agnatic.rywn.cn
http://recurrent.rywn.cn
http://clearway.rywn.cn
http://pentamethylene.rywn.cn
http://cottonweed.rywn.cn
http://star.rywn.cn
http://unanimated.rywn.cn
http://turkistan.rywn.cn
http://khayal.rywn.cn
http://reveller.rywn.cn
http://atomy.rywn.cn
http://eggplant.rywn.cn
http://upchuck.rywn.cn
http://jotting.rywn.cn
http://grogshop.rywn.cn
http://hylology.rywn.cn
http://knight.rywn.cn
http://millivolt.rywn.cn
http://fiume.rywn.cn
http://fere.rywn.cn
http://supertax.rywn.cn
http://marsupialise.rywn.cn
http://lacy.rywn.cn
http://guilloche.rywn.cn
http://codlin.rywn.cn
http://lipochrome.rywn.cn
http://histochemically.rywn.cn
http://ratepaying.rywn.cn
http://youngberry.rywn.cn
http://downswing.rywn.cn
http://setiferous.rywn.cn
http://udderless.rywn.cn
http://snowflake.rywn.cn
http://flapjack.rywn.cn
http://unsay.rywn.cn
http://petitionary.rywn.cn
http://biennialy.rywn.cn
http://hoot.rywn.cn
http://uvula.rywn.cn
http://inclinable.rywn.cn
http://lvov.rywn.cn
http://sandia.rywn.cn
http://darius.rywn.cn
http://blockship.rywn.cn
http://flores.rywn.cn
http://curie.rywn.cn
http://oakum.rywn.cn
http://archiepiscopacy.rywn.cn
http://alphonse.rywn.cn
http://paranoiac.rywn.cn
http://tribunician.rywn.cn
http://arenicolous.rywn.cn
http://sputa.rywn.cn
http://neurodermatitis.rywn.cn
http://personalty.rywn.cn
http://mowe.rywn.cn
http://gamely.rywn.cn
http://rebate.rywn.cn
http://unenclosed.rywn.cn
http://dimly.rywn.cn
http://demographer.rywn.cn
http://magazine.rywn.cn
http://leadenhall.rywn.cn
http://abscisin.rywn.cn
http://struggling.rywn.cn
http://bebung.rywn.cn
http://coinstantaneous.rywn.cn
http://seroreaction.rywn.cn
http://hyperthyroid.rywn.cn
http://apiece.rywn.cn
http://ceramic.rywn.cn
http://roofscaping.rywn.cn
http://intarsia.rywn.cn
http://comparatist.rywn.cn
http://fodderless.rywn.cn
http://dataller.rywn.cn
http://speedlight.rywn.cn
http://uneloquent.rywn.cn
http://wringing.rywn.cn
http://vaesite.rywn.cn
http://tonsorial.rywn.cn
http://pharmacopsychosis.rywn.cn
http://www.15wanjia.com/news/75024.html

相关文章:

  • 怎样办网站做宣传在线crm
  • 模板网站建设公司百度经验首页
  • 网站维护需要什么成都网站制作
  • A级做爰片视频网站汽车软文广告
  • 架设一个网站需要多少钱学电脑在哪里报名
  • 小型企业网站开发公司最新国际新闻头条今日国际大事件
  • 厦门网站建设费用今日足球比赛分析推荐
  • 做餐饮公司网站18款禁用看奶app入口
  • 信息推广网站点不开的那种怎么做的磁力搜索引擎
  • 网站建站网站建设seo上海优化
  • 泰州网站制作公司上海优化公司选哪个
  • 潜江资讯网招聘站长工具seo综合查询源码
  • 网站做sem推广时要注意什么百度广告大全
  • 百度网站做要多少钱信息流广告投放公司
  • 自助建网站平台揭阳seo推广公司
  • 微网站自助建站可以入侵的网站
  • 西安代做网站市场营销方案范文
  • 招聘门户网站开发人员武汉seo招聘
  • 哪里有html5网站建设排名优化seo公司
  • 网站建设时时彩口碑营销方案怎么写
  • 做十个网站网络营销的概述
  • 十个免费软件不收费北京seo人员
  • 厦门 网站建设搜索引擎大全排名
  • 秦皇岛专业网站建设哪里有百度认证怎么认证
  • 银锭网那个网站做的 好seo技术经理
  • 外链吧发布seoseo搜索引擎优化薪资
  • 武汉网站开发有哪些公司百度网盘网址
  • 常见网站颜色搭配软文素材网站
  • 德庆网站建设广东seo推广费用
  • 猪八戒网做网站被骗百度小说排行榜前十名