zoukankan      html  css  js  c++  java
  • boost::asio async_read_some向io_service的Op_queue投递任务的部分信息

    boost::ip::tcp::socket的async_read_some后面会调用socket的成员变量stream_socket_service的成员函数async_receive,并在该函数内为本次read请求分配 一个OP:reactive_socket_recv_op,这个op会先尝试直接读取read缓冲区,如果没有信息读,将把该 OP放入socket的成员变量descriptor_state中,该OP中包含了在监听听相关网络事件后要执行的函数及客户上层传入的回调函数on_read_handled();

    在epoll_wait监听到网络事件后,会将当时注册epoll时通过epoll_event传入的descriptor_state指针放入该线程的私有队列中,并最后把该descriptor_state指针放入task_io_service的公共队列op_queue中,唤醒一个空闲线程来执行operation->complete函数

  • 相关阅读:
    python小程序之购物系统
    列表,元祖,字典的使用
    几个python小程序
    default
    RTTI
    man
    养喜神去杀机
    IDEA+Maven+Git
    入门
    CheckStyle简介
  • 原文地址:https://www.cnblogs.com/guoliushui/p/9671293.html
Copyright © 2011-2022 走看看