Node.js躬行记(20)——KOA源码分析(下)
在上一篇中,主要分析了package.json和application.js文件,本文会分析剩下的几个文件。一、context.js 在context.js中,会处理错误,cookie,JSON格式化等。1)cookie 在处理cookie时,创建了一个Symbol类型的key,...
Node.js躬行记(19)——KOA源码分析(上)
本次分析的KOA版本是2.13.1,它非常轻量,诸如路由、模板等功能默认都不提供,需要自己引入相关的中间件。 源码的目录结构比较简单,主要分为3部分,__tests__,lib和docs,从名称中就可以了解到。 __tests__是单元测试,lib是核心代码,doc...
源码分析Node的Cluster模块
从源码分析Node的Cluster模块 前段时间,公司的洋彬哥老哥遇到一个问题,大概就是本机有个node的http服务器,但是每次请求这个服务器的端口返回的数据都报错,一看返回的数据根本不是http的报文格式,然后经过一番排查发现是另外一个服务器同时监听了http服务器的这个端口。这个时候洋彬老哥就...
深入理解Node.js-背景了解:核心思想与源码分析【1】
node背景,了解一下 (1)体系架构 Node.js主要分为四大部分,Node Standard Library,Node Bindings,V8,Libuv,架构图如下: Node Standard Library 是我们每天都在用的标准库,如Http, Buffer 模块。 Node Bind...
5. VPP源码分析(graph node(3))
2.3. vlib_frame_t 从arguments地址开始的内存空间是vector空间,作为结点接收数据包索引的缓冲区。 2.3.1. vlib_frame_t内存空间 每个线程都会从堆中分配(mmap)一块内存clib_per_cpu_mheapsvm->heap_base = cli...
4. VPP源码分析(graph node(2))
2.2.2. VLIB_NODE_TYPE_PROCESS结点 每个process结点是由jump机制构成的一个协程,协程主要用于等待、处理事件。使用longjmp/setjmp的轻量级多任务协程,由应用进程自行进行调度,不受操作系统调度机制的影响,上下文切换只损耗调用longjmp/setjmp的...
3. VPP源码分析(graph node(1))
2.1. 与结点相关的结构体 2.1.1. 全局结构体 vlib_main_t:每个线程一份,记录着线程使用到的全局数据信息.比如: /* Node graph main structure. */ vlib_node_main_t node_main; /* Command line interf...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。