Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

C/C++,跨平台,OS原生异步IO接口,纯C有栈和无栈C++20协程调度核心

NotificationsYou must be signed in to change notification settings

hujianzhe/util

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

设计原则:单一接口和模块尽可能做到绝对原子和功能分层设计,绝不做不属于它本身的事情(例如绝不把协程与io混为一个大模块,协程就是协程,io就是io).

util/  .gitignore用于git忽略一些无用文件  makefileunix系统编译动态链接库  lib_compile.shunix系统编译静态链接库脚本  CPP部分  cpp_inc/  astar基于格子和邻接点的A*寻路算法  coroutine_default_sche.h基于C++20的无栈协程调度器,nodejs风格  coroutine_helper.h基于C++20的无栈协程结构定义,nodejs风格  cpp_compiler_define判断编译器当前指定的CPP版本  heap_timer基于标准库堆结构实现的定时器  lexical_cast简陋但可用的通用类型转换接口  misc一些无法归类的,方便兼容C风格的  string_helper一些简陋的字符串分割和to_string方法  纯C部分  inc/  all自动include所有库内头文件  compiler_define根据编译器不同,给出统一的关键字,定一缺失类型,必须的预处理语句,频闭不需要的警告等  platform_define根据系统平台的不同,给出统一的关键字,定义缺失类型,必须的预处理语句,频闭不需要的警告等  component/  net_channel_rw基于下面的reactor模块提供TCP/UDP传输,并发的可靠UDP传输与监听  dataqueue用于线程间通信的消息队列  log用于日志读写,支持异步/同步写入文件,且内置日志轮替机制  memheap_mt基于共享内存的多进程/线程安全的内存管理  memref基于引用计数实现的内存强引用和观察者  reactorReactor模型的网络套接字库  rbtimer一个基于红黑树结构的定时器模块  stack_co_sche基于系统平台API实现的有栈协程调度器  switch_co_sche基于switch case语法的无栈协程调度器  crt/  protocol/  hiredis_cli_protocol基于hiredis代码的裁剪,只保留了客户端对RESP协议解析和构造部分  httpframe用于解析与组装HTTP协议报文  websocketframe用于解析与组装WebSocket协议报文(13版本)  cXML用于解析XML  dynarr模拟泛型的动态数组  json用于解析JSON,沿用cJSON的命名风格,内部采用和cJSON不同的实现方式  math一些实用的数学运算接口  datastruct/  arrheap最小堆,最大堆  base64提供base64编解码接口  bstree类型无关的二叉搜索树  hash提供一些常用的hash算法  hashtable类型无关的哈希表  lengthfieldframe用于解析与组装包含长度字段的协议报文  list类型无关的双向链表,顺带支持栈/队列的PUSH/POP操作  md5MD5编码生成  memfunc不涉及分配释放的内存与字符串操作函数  memheap简单内存堆分配与释放  random随机数算法,提供rand48与MT19937算法  rbtree类型无关的红黑树(内部基于linux内核红黑树代码)  serial_exec任务串行执行队列结构  sha1SHA1编解码,来源于Redis源码  transport_ctx提供ACK确认与滑动窗口的传输控制接口,不包含OS对应的IO系统接口,并于标准库无关  tree类型无关的普通树  urlURL解析与编解码接口  sysapi/  aio提供统一AIO接口(基于iocp/io_uring)  assert提供一个相对于assert的高级断言  atomic提供统一的原子操作接口  error提供统一的系统错误码接口  file提供统一的文件与目录操作接口  io_overlapped提供OVERLAPPED结构与接口,用于NIO/AIO  ipc提供统一的OS锁接口  misc杂项接口  mmap提供统一的文件内存映射与共享内存接口  nio提供统一网络NIO接口(基于iocp/epoll/kevent,reactor模式)  process提供统一的进程/线程/协程接口  socket提供统一的socket接口  statistics一些杂项统计接口  terminal提供终端控制台的操作接口  time提供统一的线程安全的时间接口

About

C/C++,跨平台,OS原生异步IO接口,纯C有栈和无栈C++20协程调度核心

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp