grpc源码分析
pzc105
这个作者很懒,什么都没留下…
展开
-
GRPC-http2
GRPC-http2Chttp2Connector与Chttp2ServerListener客户端通过Chttp2Connector::Connect与服务器发起tcp连接请求,连上后客户端与服务端进行握手(根据用户传入参数判断是否进行tls握手,开启后进行非对称加密的密文交互,最终双方获得一致的对称加密密钥)。握手完成后调用Chttp2Connector::OnHandshakeDone,创建grpc_transport对象,并调用grpc_chttp2_transport_start_reading原创 2020-10-25 21:02:29 · 368 阅读 · 0 评论 -
GRPC浅析-LockfreeEvent
LockfreeEvent是一个无锁事件类。主要用于epoll模型下读、写和错误事件的触发。void LockfreeEvent::NotifyOn(grpc_closure* closure) { /*cas失败时,再次循环重试*/ while (true) { /* 这里用acquire的原因是,当SetShutdown成功时,会将shutdown_err保存在state_中, * 假设这边检测到状态是已关闭情况,则下面代码会使用到shutdown_err, * 为原创 2020-10-08 11:07:42 · 345 阅读 · 0 评论 -
GRPC浅析-epoll与IOCP
GRPC浅析-epollepoll是什么epoll是什么epoll是Linux内核一种I/O事件通知机制,可将大量的文件描述符与事件注册到epoll实例上。内部使用红黑树管理文件描述符与事件。原创 2020-09-28 15:44:34 · 597 阅读 · 0 评论