Browse Source

Add TREE.md

ithewei 5 years ago
parent
commit
43583cd644
7 changed files with 149 additions and 0 deletions
  1. 15 0
      PLAN.md
  2. 33 0
      TREE.md
  3. 34 0
      base/README.md
  4. 19 0
      event/README.md
  5. 25 0
      http/README.md
  6. 10 0
      protocol/README.md
  7. 13 0
      utils/README.md

+ 15 - 0
PLAN.md

@@ -0,0 +1,15 @@
+## Done
+
+- event: select/poll/epoll/kqueue/port
+- http client/server: include https http1/x http2
+
+## Improving
+
+- IOCP: fix bug, add SSL/TLS support
+
+## Plan
+
+- evpp: c++ EventLoop interface similar to muduo and evpp
+- websocket client/server
+- mqtt client
+- redis client

+ 33 - 0
TREE.md

@@ -0,0 +1,33 @@
+## 目录结构
+
+```
+.
+├── base        libhv c/c++基础设施模块,如常用宏定义、数据结构、字符串操作、日期时间、文件、目录、线程、进程、日志、套接字
+├── bin         可执行文件安装目录
+├── build       cmake默认构建目录
+├── cert        SSL证书存放目录
+├── cmake       cmake脚本存放目录
+├── consul      consul服务注册与发现,使用http客户端实现
+├── docs        文档存放目录
+├── echo-servers 包含libevent、libev、libuv、libhv、asio、poco、muduo等多个网络库的tcp echo server写法,并做压力测试
+├── etc         应用程序配置目录
+├── event       libhv事件循环模块
+├── examples    示例代码
+│   └── httpd
+├── html        网页document_root目录
+│   ├── downloads   下载目录
+│   └── uploads     上传目录
+├── http        libhv http模块
+│   ├── client
+│   └── server
+├── include     头文件安装目录
+│   └── hv
+├── lib         库文件安装目录
+├── logs        日志生成目录
+├── misc        杂项
+├── protocol    包含icmp、dns、ftp、smtp等协议的实现
+├── scripts     shell脚本存放目录
+├── unittest    单元测试代码
+└── utils       libhv utils模块,如base64、md5、json解析、ini解析
+
+```

+ 34 - 0
base/README.md

@@ -0,0 +1,34 @@
+## 目录结构
+
+```
+.
+├── array.h         动态数组
+├── hatomic.h       原子操作
+├── hbase.h         基础函数
+├── hbuf.h          缓存
+├── hdef.h          常见宏定义
+├── hdir.h          目录(ls实现)
+├── heap.h          堆
+├── herr.h          错误码表
+├── hfile.h         文件类
+├── hlog.h          日志
+├── hmath.h         数学函数
+├── hmutex.h        线程同步锁
+├── hobjectpool.h   对象池
+├── hplatform.h     平台相关宏
+├── hproc.h         进程
+├── hscope.h        作用域模板类
+├── hsocket.h       套接字
+├── hssl.h          SSL/TLS
+├── hstring.h       字符串操作
+├── hsysinfo.h      系统信息
+├── hthread.h       线程
+├── hthreadpool.h   线程池
+├── htime.h         时间
+├── hurl.h          URL操作
+├── hversion.h      版本
+├── ifconfig.h      网络配置(ifconfig实现)
+├── list.h          链表
+└── queue.h         队列
+
+```

+ 19 - 0
event/README.md

@@ -0,0 +1,19 @@
+## 目录结构
+
+```
+.
+├── hloop.h     事件循环模块对外头文件
+├── hevent.h    事件结构体定义
+├── nlog.h      网络日志
+├── nmap.h      主机发现 (nmap实现)
+├── iowatcher.h IO多路复用统一抽象接口
+├── select.c    EVENT_SELECT实现
+├── poll.c      EVENT_POLL实现
+├── epoll.c     EVENT_EPOLL实现 (for OS_LINUX)
+├── iocp.c      EVENT_IOCP实现  (for OS_WIN)
+├── kqueue.c    EVENT_KQUEUE实现(for OS_BSD/OS_MAC)
+├── evport.c    EVENT_PORT实现  (for OS_SOLARIS)
+├── nio.c       非阻塞IO
+└── overlapio.c 重叠IO
+
+```

+ 25 - 0
http/README.md

@@ -0,0 +1,25 @@
+## 目录结构
+
+```
+.
+├── client
+│   ├── http_client.h   http客户端对外头文件
+│   └── requests.h      模拟python requests api
+├── httpdef.h           http定义
+├── http2def.h          http2定义
+├── grpcdef.h           grpc定义
+├── HttpParser.h        http解析基类
+├── Http1Parser.h       http1解析类
+├── Http2Parser.h       http2解析类
+├── HttpMessage.h       http请求响应类
+├── http_content.h      http Content-Type
+├── http_parser.h       http1解析实现
+├── multipart_parser.h  multipart解析
+└── server
+    ├── HttpServer.h    http服务端对外头文件
+    ├── HttpHandler.h   http处理类
+    ├── FileCache.h     文件缓存类
+    ├── http_page.h     http页面构造
+    └── HttpService.h   http业务类 (包括api service、web service、indexof service)
+
+```

+ 10 - 0
protocol/README.md

@@ -0,0 +1,10 @@
+## 目录结构
+
+```
+.
+├── dns.h   DNS协议
+├── ftp.h   FTP协议
+├── icmp.h  ICMP协议
+└── smtp.h  SMTP协议
+
+```

+ 13 - 0
utils/README.md

@@ -0,0 +1,13 @@
+## 目录结构
+
+```
+.
+├── base64.h        BASE64编解码
+├── hendian.h       大小端
+├── hmain.h         命令行解析
+├── iniparser.h     INI解析
+├── json.hpp        JSON解析
+├── md5.h           MD5数字摘要
+└── singleton.h     单例模式宏
+
+```