1 redis流水线隐式封装,以及redis结果命令解析(MULTIREDISREAD::readyMessage()为redis pipline命令封装·函数 ,MULTIREDISREAD::prase 为redis协议解析函数)
2 HTTPSERVICE::parseHttp为http 解析函数,支持POST GET,分包解析, 除了支持常规body外,还支持 chunk解析和multipartFromdata两种上传格式解析
3 采用mysql8的异步api+批量命令发送函数,命令封装在MULTISQLREADSW::makeMessage()中
4 fixedTemplateSafeList.h为对象池统一超时定时器实现
5 STLtreeFast.h中的make_json函数实现了一次性直接生成带json格式的http消息算法
从一开始进行解析时做到只有跨越数据段的数据才进行拷贝,其余数据段直接用指针指向,而后body参数解析设计成为转码返回实际长度,获取的body参数解析用指针数组装载,再到redis 和mysql读取操作传入string_view,仅仅在生成发送redis和sqk端读取命令时才进行拷贝组装,再到redis和sql 结果以string_view方式返回,最后定义了一种生成指针串存储json keyvalue值的方式装配json,直到最后用一种特殊算法直接生成json结果格式的http回复消息。整个过程看似大量使用STL,实际上却将指针用到极致
点击空白处退出提示
评论