1.

zmq类层次

①、object_t,主要用于发送命令和处理命令,所有继承object_t的子类都具备该类的功能

②、io_thread_t,内含一个poller,可监听句柄的读、写、异常状态,继承自object_t,具有接收命令、处理命令、发送命令的功能

③、io_object_t,可以获取一个io_thread_t的poller,从而具备poller功能,所有继承自该类的子类都具有pollere功能,可监听句柄的读、写、异常状态

④、reaper_t,zmq的回收线程

⑤、own_t,zmq的对象树结点,或者说多叉树的结点,其主要用于对象的销毁,可以想到,对象的销毁就是这棵树的销毁过程,必须要使用深度优先的算法来销毁。关于zmq对象树在Internal Architecture of libzmq有详细讲解

⑥、tcp_connector_t,zmq_socket的连接器,使用她来建立tcp连接

⑦、tcp_listener_t,zmq_socket的监听器

⑧、stream_engine,负责处理io事件中的一种----网络事件,把网络字节流转换成zeromq的msg_t消息传递给session_base_t。另外一些和版本兼容相关的杂务也stream_engine处理的。stream_engine_t处理完杂务,到session_base_t就只看见msg_t了。

⑨、session_base_t,管理zmq_socket的连接和通信,主要与engine进行交换

⑩、socket_base_t,zeromq的socket,在zmq中,被当成一种特殊的”线程“,具有收发命令的功能

参考资料:

ZMQ源码 -- c++版

http://www.cnblogs.com/zengzy

zmq -- mailbox -- session之间关系相关推荐

  1. 会话Cookie及session的关系(Cookie Session)

    会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...

  2. 智能终端会议系统(20)---网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系

    网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系 RTP/RTCP/RTSP/SIP/SDP 关系 1. RTP Real-time Transport Protocol,是用 ...

  3. 微服务架构与Docker容器之间关系

    微服务j架构与Docker容器之间关系 因公司业务市场的发展与技术架构等结合因素,希望接下来的产品架构能支撑轻量级.高并发.大数据.智能化.易维护.动态扩展等方向发展,因项目性能问题需要处理,公司架构 ...

  4. TLS与SSL之间关系——SSL已经被IEFT组织废弃,你可以简单认为TLS是SSL的加强版

    TLS与SSL之间关系 原文地址:SSL vs. TLS - What's the Difference? from:https://juejin.im/post/5b213a0ae51d4506d4 ...

  5. 类与类之间关系的表示方式

    类与类之间关系的表示方式 关联关系 关联关系是对象之间的一种引用关系, 用于表示一类对象与另一类对象之间的联系,如老师和学生.师傅和徒弟.丈夫和妻子等. 关联关系是类与类之间最常用的一种关系,分为一般 ...

  6. 怎么安装python_零基础入门必看篇:浅析python,PyCharm,Anaconda三者之间关系

    今天为大家带来的内容是:零基础入门必看篇:浅析python ,PyCharm,Anaconda三者之间关系 众所周知,Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C, ...

  7. c++类与类之间关系

    类与类之间关系 类与类之间关系 UML表示和代码表示 类与类之间关系 类与类之间的关系对于理解面向对象具有很重要的作用,以前在面试的时候也经常被问到这个问题,在这里我就介绍一下. 类与类之间存在以下关 ...

  8. 类与类之间关系,用C#和JavaScript体现

    前言 在面向对象中,类之间的关系有六种,分别是: 关联关系(Association) 泛化关系(Generalization) 依赖(Dependency) 聚合(Aggregation) 组合(Co ...

  9. 获取用户之间关系——使用followerway

    为什么80%的码农都做不了架构师?>>>    我的问题:上星期一直纠结的是怎样获取用户之间人际关系,今天和鲁博士讨论后发现用这种策略: 我先讲一下我的问题:我要获取一个event所 ...

  10. 窗口类、窗口类对象与窗口 三者之间关系

    本文摘自孙鑫<VC++深入详解3.3.1> 3.3.1  三者之间关系 很多开发人员都将窗口类.窗口类的对象和窗口之间的关系弄混淆了.为了使读者能更好地理解它们之间的关系,下面我们将模拟C ...

最新文章

  1. Python编程基础:第二十一节 函数返回Return
  2. matlab运行支持向量机不出f,求助各位大神关于libsvm,svmpredict总是出不来结果,调试了好久还是不行...
  3. DotNetCore三大Redis客户端对比和使用心得
  4. ps如何修改图片大小尺寸_PS常用操作 | 图片的裁剪、拼接、尺寸调整... ...
  5. UI完美配色专辑|色彩是影响设计使用者情绪和行为行为的最重要因素之一
  6. 鼠标悬停在HTML-TABLE的某一行上 改变这一行的背景颜色
  7. 统计字符串中含指定字符个数
  8. ubuntu使用deepin-wine安装微信出现版本过低问题的解决
  9. MIPI DSI转LVDS东芝TC358775XBG视频解码芯片,RK3399点LVDS屏必备
  10. 过年表情包 || 一个月后就能用啦
  11. 情怀——推荐梁晓声新作《未死的沙威》
  12. text/css什麼意思
  13. vs2008编译QT开源项目--太阳神三国杀源码分析(一) 项目编译及整体分析
  14. cmd执行python脚本命令大全_Python脚本实现在cmd执行相关命令
  15. Android自定义View——实现水波纹效果类似剩余流量球
  16. 2022年4月10日百度机器学习方向暑期实习面试题分享
  17. 裂项相消的原理是什么
  18. Java码农进阶之路~数组的深进浅出
  19. 张家港python培训_张的英文_张翻译_张英语怎么说_海词词典
  20. 模拟信号求解相位差(1)

热门文章

  1. 1021 个位数统计 (15 分)—PAT (Basic Level) Practice (中文)
  2. L1-052 2018我们要赢 (5 分)—团体程序设计天梯赛
  3. Hive安装部署及简单测试 网页《一》
  4. B. Forgery
  5. 如何更方便地调试javascript代码
  6. Trie图和Fail树
  7. Java进阶03 IO基础
  8. 爬虫笔记(四)------关于BeautifulSoup4解析器与编码
  9. AS3 JPEG Encoder应用:从Flash中保存图片
  10. 再谈代码生成器,xml+xslt,结合扩展,用上设计模式。