![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++ rpc
文章平均质量分 78
JinLiJiuHao
这个作者很懒,什么都没留下…
展开
-
acid--rpc模块
tuple是一个固定大小的不同类型值的集合,是泛化的std::pair。我们也可以把他当做一个通用的结构体来用,不需要创建结构体又获取结构体的特征,在某些情况下可以取代结构体使程序更简洁,直观。std::tuple理论上可以有无数个任意类型的成员变量,而std::pair只能是2个成员,因此在需要保存3个及以上的数据时就需要使用tuple元组了。Serializer只有一个ByteArray。原创 2023-11-20 17:31:26 · 38 阅读 · 1 评论 -
acid--sync模块
这个头文件主要用RAII封装了。原创 2023-11-20 16:26:23 · 35 阅读 · 1 评论 -
acid--net模块
而read和write都是在SocketStream中实现的。这里创建的Socket并没有对应socket fd,只是一个空壳,需要调用Socket::init(int sock)初始化。startAccept将循环accept,将返回的 socket 连接 ,加入到调度器,入口函数为handleClient。SocketStream中read和write都是调用Socket的send和recv。start将监听队列中的Socket加入到调度器,入口函数为startAccept;原创 2023-11-20 16:22:02 · 32 阅读 · 1 评论 -
acid--http模块
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。由于HTTP请求报文和响应报文的结构相同,这里对两种报文的解析做一个抽象:HttpParser。具体流程就是调用execute,然后将m_parser依次赋值为parse_line、parse_header、parse_chunk(每个都是一个协程,返回类型的是Error,标志解析是否成功)。http_session是从。原创 2023-11-20 16:20:04 · 25 阅读 · 1 评论