boost::serial_port类

serial_port类图

typedef basic_serial_port<> serial_port
继承
继承
basic_serial_port< >
basic_io_object<serial_port_service>
serial_port_base
  • basic_io_object:实质上是serial_port_service类函数功能代理
  • serial_port_base : 实质上是串口一些属性(波特率、奇偶校验等等)设置

serial_port_service 类图

继承
关联
serial_port_service
- service_impl_type service_impl_
«service_impl_type»
reactive_serial_port_service
service_base<serial_port_service>
继承
service_base<serial_port_service>
service
  • serial_port_service类继承service_base基类
  • serial_port_service类功能实现关联reactive_serial_port_service类
  • service_base类又继承于service类

reactive_serial_port_service类图

关联
依赖
关联
实现
实现
实现
实现
reactive_serial_port_service
-reactive_descriptor_service service_impl_
reactive_descriptor_service
-reactor reactor_
reactor
implementation_type
- int descriptor_
- state_type state_
- descriptor_state reactor_data_
select_reactor
epoll_reactor
kqueue_reactor
dev_poll_reactor
  • reactive_serial_port_service类功能实现关联于reactive_descriptor_service
  • reactive_descriptor_service类功能关联于reactor类和依赖于implementation_type
  • implementation_type类三个成员主要为reactor类保存IO多路复用参数
  • reactor的根据系统IO复用底层,选用其中一种(select/poll/epoll/kqueue)作为具体实现

epoll_reactor类图

继承
依赖
继承
自关联
关联
继承
继承
继承
继承
继承
实现
epoll_reactor
- io_service_impl* io_service_
- mutex mutex_
- int epoll_fd_
- int timer_fd_
- timer_queue_set timer_queues_
- mutex registered_descriptors_mutex_
- object_pool registered_descriptors_
descriptor_state
- descriptor_state* next_
- descriptor_state* prev_
- epoll_reactor* reactor_
- op_queue<reactor_op> op_queue_[max_ops]
operation
reactor_op
+ size_t bytes_transferred_
+ error_code ec_
- perform_func_type perform_func
task_io_service_operation
descriptor_read_op_base
descriptor_read_op
descriptor_write_op_base
descriptor_write_op
service_base<epoll_reactor>
  • epoll_reactor类继承于service_base类
  • epoll_reactor类依赖于descriptor_state类
  • descriptor_state类继承于operation类
  • descriptor_state类实质是一个operation的双向链表
  • reactor_op类主要保存epoll_reactor的操作回调函数
  • operation具体实现取决task_io_service_operation类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值