- 博客(10)
- 资源 (5)
- 收藏
- 关注
原创 Baidu-Rpc中Pb结构转为Json
1.C++动态创建对象(类似java反射) 2.pb结构中repeated,Extension,如何将pb结构转化为string类型(baidu-rpc中有库json2pb文件,可以看源码学习一下) 3.Pb结构中Extension字段使用 4.Pb中Descriptor,Reflection如何实现动态创建对象 https://developers.google.com/protocol-
2017-09-28 19:45:02 1026
原创 46muduo库使用示例(五)
1.RTT计算2.代码#include #include #include #include #include using namespace muduo;using namespace muduo::net;const size_t frameLen = 2*sizeof(int64_t);void serverConnectionCallback(const
2017-09-17 19:21:07 539
原创 34muduo_net库源码分析(十)
1.连接关闭时序图2.代码1.TcpConnection.h// Copyright 2010, Shuo Chen. All rights reserved.// http://code.google.com/p/muduo///// Use of this source code is governed by a BSD-style license// that
2017-09-10 19:56:33 550
原创 33muduo_net库源码分析(九)
1.TcpServer/TcpConnection(1)Acceptor类的主要功能是socket、bind、listen(2)一般来说,在上层应用程序中,我们不直接使用Acceptor,而是把它作为TcpServer的成员TcpServer还包含了一个TcpConnection列表(3)TcpConnection与Acceptor类似,有两个重要的数据成员,Socket与Chan
2017-09-10 19:31:49 397
原创 32muduo_net库源码分析(八)
1.Acceptor(1)Acceptor用于accept(2)接受TCP连接(2)Acceptor的数据成员包括Socket、Channel,Acceptor的socket是listening socket(即serversocket)。Channel用于观察此socket的readable事件,并回调Accptor::handleRead(),后者调用accept(2)来接受新连接
2017-09-10 19:21:50 338
原创 31muduo_net库源码分析(七)
1.Socket封装(1)Endian.h 封装了字节序转换函数(全局函数,位于muduo::net::sockets名称空间中)。(2)SocketsOps.h/ SocketsOps.cc 封装了socket相关系统调用(全局函数,位于muduo::net::sockets名称空间中)。(3)Socket.h/Socket.cc(Socket类) 用RAII方法封装
2017-09-03 20:00:16 432
原创 20muduo_base库源码分析(十一)
1.日志作用(1)开发过程中:调试错误,更好的理解程序(2)运行过程中:诊断系统故障并处理,记录系统运行状态2.日志级别(1)TRACE 指出比DEBUG粒度更细的一些信息事件(开发过程中使用)(2)DEBUG 指出细粒度信息事件对调试应用程序是非常有帮助的。(开发过程中使用)(3)INFO 表明消息在粗粒度级别上突出强调应用程序的运行过程。(4
2017-09-02 22:18:10 385
原创 Initializer Lists
1.简介2.initializer_listcomplex com{1, 2},也就是类似P(int a, int b)的这样子(1)initializer_list是基于array实现的(2)编译器为你构造了一个array的数组,将array的begin和len传入到initializer_list,initializer_list构造函数是pri
2017-09-02 18:45:04 354
原创 30muduo_net库源码分析(六)
1.EventThread(1)任何一个线程,只要创建并运行了EventLoop,都称之为IO线程(2)IO线程不一定是主线程(3)muduo并发模型one loop per thread + threadpool(4)为了方便今后使用,定义了EventLoopThread类,该类封装了IO线程(5)EventLoopThread创建了一个线程(6)在线程函数中创建了一
2017-09-02 15:51:55 337
原创 29muduo_net库源码分析(五)
1.进程(线程)wait/notify(1)pipe(2)socketpair(3)eventfd,eventfd是一个比 pipe更高效的线程间事件通知机制,一方面它比 pipe 少用一个file descripor,节省了资源;另一方面,eventfd的缓冲区管理也简单得多,全部“buffer”只有定长8 bytes,不像 pipe 那样可能有不定长的真正buffer。in
2017-09-02 15:46:00 400
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人