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

muduo库源码分析: TcpConnection

一. 主要成员:

  • socket_:用于保存已连接套接字文件描述符。
  • channel_:封装了上面的socket_及其各类事件的处理函数(读、写、错误、关闭等事件处理函数)。这个Channel中保存的各类事件的处理函数是在TcpConnection对象构造函数中注册的
  • loop_:这是一个EventLoop*类型,该Tcp连接的Channel注册到了哪一个sub EventLoop上。这个loop_就是那一个sub EventLoop。
  • inputBuffer_:这是一个Buffer类,是该TCP连接对应的用户接收缓冲区。
  • outputBuffer_:也是一个Buffer类,不过是用于暂存那些暂时发送不出去的待发送数据。因为Tcp发送缓冲区是有大小限制的,假如达到了高水位线,就没办法把发送的数据通过send()直接拷贝到Tcp发送缓冲区,而是暂存在这个outputBuffer_中,等TCP发送缓冲区有空间了,触发可写事件了,再把outputBuffer_中的数据拷贝到Tcp发送缓冲区中。
  • state_:这个成员变量标识了当前TCP连接的状态(Connected、Connecting、Disconnecting、Disconnected)
  • connetionCallback_、messageCallback_、writeCompleteCallback_、closeCallback_ :用户会自定义 [连接建立/关闭的处理函数] 、[收到消息的处理函数]、[消息发送完的处理函数]以及Muduo库中定义的[连接关闭的处理函数]。这四个函数都会分别注册给这四个成员变量保存。

二.主要接口:

http://www.dtcms.com/a/128884.html

相关文章:

  • 你的 Linux 服务器连不上网?10 分钟入门网络故障排查
  • 用户态视角理解内核ROP利用:快速从shell到root的进阶
  • 对称加密与非对称加密的特点
  • 深度解析python生成器和关键字yield
  • Java EE期末总结(第五章)
  • STM32 HAL DHT11驱动程序
  • LeetCode --- 444 周赛
  • 【C++初学】课后作业汇总复习(一)概述、输入输出、类的入门——理解封装
  • KTransformers安装笔记 利用docker安装KTransformers
  • 系统分析师(六)-- 计算机网络
  • 留守儿童|基于SprinBoot+vue的留守儿童爱心网站(源码+数据库+文档)
  • 我又叕叕叕更新了~纯手工编写C++画图,有注释~
  • 【实证分析】数智化转型对制造企业全要素生产率的影响及机制探究(1999-2023年)
  • spring security oauth2.0 使用GitHub
  • KiActivateWaiterQueue函数和Queue->Header.WaitListHead队列等待列表的关系
  • 【第三章】13-常用模块1-ngx_http_upstream_module
  • Introduction To Raymarching
  • AI结合VBA提升EXCEL办公效率尝试
  • SQL:Relationship(关系)
  • 类似东郊到家的上门按摩预约服务系统小程序APP源码全开源
  • 3.5 字典补充
  • Google 官方提示工程 (Prompt Engineering)白皮书 总结
  • ESP32与STM32哪种更适合初学者?
  • Qt触摸屏隐藏鼠标指针
  • Python数组(array)学习之旅:数据结构的奇妙冒险
  • DRM(Digital Rights Management)生态以及架构介绍
  • 自动驾驶技术-相机_IMU时空标定
  • NI的LABVIEW工具安装及卸载步骤说明
  • 博途 TIA Portal之1200做主站与有意思的板子做MODBUS_RTU通讯
  • 【多模态大模型实战】使用LoRA微调Qwen2.5-VL