最近一直想读skynet 云风大神的服务器程序,但是总是找到这样或者那样的理由。。而且每次开始读的时候,总是找不到接入口。。所以现在准备把阅读过程记录一下,算是备忘吧。。本片是在skynet群里下载的资料。手打出来加深记忆。
Skynet-src文件夹下的代码
rwlock.h | 有读写锁 |
skynet_error.c | 错误处理 |
Malloc_hook.c Malloc_hook.h Skynet_malloc.h | 内存分配,默认使用jemalloc |
Skynet_imp.h Skynet_main.c Skynet_start.c | 启动流程 |
Skynet.h Skynet_server.h Skynet_server.c | Skynet主要功能,初始化组件、加载服务和通知服务 |
Skynet_env.h Skynet_env.c | 设置和获得lua的环境变量 |
Skynet_module.h Skynet_module.c | 动态链接库加载 |
Skynet_handle.h Skynet_handle.c | 服务编号管理 |
Skynet_harbor.c Skynet_harbor.h | 节点管理 |
Skynet_monitor.c Skynet_monitor.h | 监视服务 |
Skynet_mq.c Skynet_mq.h | 消息队列 |
Skynet_time.h Skynet_time.c | 时钟 |
Skynet_socket.c Skynet_socket.h | 网络接口 |
Socket_server.c Socket_server.h Socket_poll.h Socket_epoll.h Socket_kqueue.h | 网络模块 |
|
|
Server-src文件夹下的文件对应的功能:
Service_master.c | 主服务器,负责管理harbor节点 |
Service_harbor.c | 节点服务,与其他节点互通 |
Service_gate.c | 网管服务,管理socket |
Service_log.c | 日志服务 |
Service_lua.h Service_snlua.c | 加载lua编写的服务,核心服务
|
Databuffer.h | 数据缓冲 |
Hashid.h |
|
Lualib-src文件下文件对应的功能
Lua-skynet.c | 核心库,封装skynet给lua用 |
Lua-bson.c | 一种类似json的二进制形式的存储格式 |
Lua-mongo.c | MongoDB |
Lua-seri.c Lua-seri.h | 序列化 |
Lua-netpack.c | 网络封包,协议使用 |
Lua-socket.c | 封装了socket-server给lua用 |
Lua-clintsocket.c | 简单的客户端socket封装 |
Lua-memory.c | 分配内存 |
Lua-profile.c |
|