摘要: 背景:在muduo网络库中,用到两个获取socktes的方法,其中的参数不尽相同。 代码: int sockets::createNonblockingOrDie(sa_family_t family) { #if VALGRIND int sockfd = ::socket(family, SOC 阅读全文
posted @ 2020-10-08 10:45 熊鑫xxx1x 阅读(633) 评论(0) 推荐(0)
摘要: 背景:在muduo库中,InetAddress类是一个包含socket地址的数据类型,包括这个ip地址和端口号。 在里面有一个表示socket地址的union。 1 private: 2 union 3 { 4 struct sockaddr_in addr_; 5 struct sockaddr_ 阅读全文
posted @ 2020-09-28 15:37 熊鑫xxx1x 阅读(5446) 评论(0) 推荐(0)
摘要: 在muduo网络库中出现这样的调用: timerfdChannel_.setReadCallback( std::bind(&PeriodicTimer::handleRead, this)); 这里的 PeriodicTimer::handleRead 的定义如下: void handleRead 阅读全文
posted @ 2020-09-17 13:02 熊鑫xxx1x 阅读(365) 评论(0) 推荐(0)
摘要: 背景: muduo网络库中选择了timefd_*系列函数来进行定时,之所以选择这一组函数的原因是: 1、这一组函数不涉及到信号,安全好用。 2、这一组函数通过操作时间相关的文件描述符实现功能,可以和其它的文件相关操作融为一体。 书上242页原话: timerf_create(2)函数把时间变成了一个 阅读全文
posted @ 2020-09-13 12:44 熊鑫xxx1x 阅读(5648) 评论(0) 推荐(0)
摘要: 背景:今天看muduo库,发现 Date这个日期类的头问件Date.h,里面有一个结构体的声明: struct tm; 然后在其源文件Date.cc中有一个头文件 #include<time.h> 这个tm应该就是time.h中定义的记录时间信息的头文件。 下面就来看一下这个结构体的内容和功能: M 阅读全文
posted @ 2020-09-11 14:16 熊鑫xxx1x 阅读(875) 评论(0) 推荐(0)
摘要: 简单总结一下muduo中的日志系统的功能运作方式及一些疑问。 第一个类: template<int SIZE> class FixedBuffer 成员变量: 1. 成员函数: 一个函数类型的成员 void (*cookie_)(),用来给内存块做cookie。 2. 一个缓冲区data_[SIZE 阅读全文
posted @ 2020-09-09 16:11 熊鑫xxx1x 阅读(476) 评论(0) 推荐(0)
摘要: #include <string.h> char *strerror(int errnum); int strerror_r(int errnum, char *buf, size_t n); 函数strerror和strerror_r均是根据错误码得到对应的错误描述。 但是strerror_r是更 阅读全文
posted @ 2020-09-08 10:32 熊鑫xxx1x 阅读(4644) 评论(0) 推荐(1)
摘要: 函数原型: #include <dirent.h> int scandir(const char *dirp, struct dirent ***namelist, int (*filter)(const struct dirent *), int (*compar)(const struct di 阅读全文
posted @ 2020-09-07 10:57 熊鑫xxx1x 阅读(962) 评论(0) 推荐(0)
摘要: 背景: 都知道文件的读取用到了缓存机制,但是有以下几点问题却一直没有确切的答案: 1. 缓存机制到底是什么机制。 2. 读取文件I/O的过程到底是怎样的,多线程并发读取一二文件是否会有速度上的提升。 参考:https://blog.csdn.net/yusiguyuan/article/detail 阅读全文
posted @ 2020-09-06 17:01 熊鑫xxx1x 阅读(538) 评论(0) 推荐(0)
摘要: 1. 当模板被使用时才会进行实例化,这一特性意味着,相同的实例可能会出现在多个动态文件中。 2. 当两个或多个独立编译的源文件使用了相同的模板,并提供了相同的模板参数时,每个文件中就都会有该模板的一个实例。 3. 在大型系统中,在多个文件中实例化相同模板的的额外开销可能非常严重。 显示实例化: te 阅读全文
posted @ 2020-09-05 16:07 熊鑫xxx1x 阅读(200) 评论(0) 推荐(0)