tinyCoroLab Docs
直通tinyCoroLab源码直通tinyCoro源码
latest
latest
  • 🚀开启你的tinyCoroLab之旅!
  • 📮致读者
  • 👊C++协程入门
    • 协程初探
    • 有栈协程VS无栈协程
    • C++协程入门实践
    • 从编译器视角揭秘 C++ 协程
    • 协程调用优化
  • 🌟认识io_uring
  • 📖tinyCoroLab实验介绍
  • 📘Lab1 构建协程任务封装
    • Lab1 构建协程任务封装
    • Lab1 实验解析
  • 📗Lab2 构建任务执行引擎
    • Lab2a 构建任务执行引擎engine
    • Lab2a 实验解析
    • Lab2b 构建任务执行引擎context
    • Lab2b 实验解析
  • 📙Lab3 封装异步I/O执行模块
  • 📕Lab4 构建基础协程同步组件
    • Lab4pre 如何构建协程同步组件
    • Lab4a 构建基础协程同步组件event
    • Lab4a 实验解析
    • Lab4b 构建基础协程同步组件latch
    • Lab4b 实验解析
    • Lab4c 构建基础协程同步组件wait_group
    • Lab4c 实验解析
    • Lab4d 构建基础协程同步组件mutex
    • Lab4d 实验解析
  • 📓Lab5 构建进阶协程同步组件
    • Lab5a(选做) 构建进阶协程同步组件when_all
    • Lab5a 实验解析
    • Lab5b 构建进阶协程同步组件condition_variable
    • Lab5b 实验解析
    • Lab5c 构建进阶协程同步组件channel
    • Lab5c 实验解析
  • ✨tinyCoro Bonus Lab
  • 🎯tinyCoro悬赏令
  • ⚔️面试实战
    • 面试实战
    • tinyCoro面试相关问题
  • 🚩实验总结-终点亦是起点
  • 🪐番外杂谈
    • 从编译器视角揭秘 C++ 协程
    • 协程调用优化
  • 📌更新日志
Powered by GitBook
On this page
  • 悬赏令简介
  • 🗡️悬赏令
  • 内存安全修复
  • http协议支持

🎯tinyCoro悬赏令

悬赏令简介

tinyCoroLab区别于网上其它实验课程的重要区别是作者本人提供了一份参考实现tinyCoro来供实验者在缺少思绪时参阅,作者本人也一直在更新tinyCoro并期望为读者呈现一份工业级协程库代码,奈何作者本人功力尚浅,目前的tinyCoro存在诸多问题,甚至不能通过tinyCoroLab的全部测试,因此作者增设了 tinyCoro 悬赏令,其包含tinyCoro目前存在的亟待解决的问题,各位有兴趣的读者可以尝试解决,相关代码也会被直接并入tinyCoro。

❓我已经解决了某个问题,相关代码如何提交呢? 请先将tinyCoro主分支fork至个人仓库,本地修改后提交至个人仓库,然后进入作者的tinyCoro的pulls页面并点击pull request,将个人tinyCoro的主分支并入作者的tinyCoro,注意合并前确保个人仓库的修改是基于作者仓库的最新提交,作者会在审核通过后将代码正式并入tinyCoro

❓悬赏令意思是解决了有奖励吗? 呃。。。暂时没有🤡,起名悬赏令仅仅是好听,不过相信你在解决这些问题后一定会有所收获!

🗡️悬赏令

内存安全修复

对于使用C++构建的编程库,保证内存安全是最核心最基本的要求,因此 tinyCoroLab 对于各项实验均设有内存安全测试。

作者本人的tinyCoro可以通过各项功能测试,但大部分实验的内存安全测试均未能通过,即在运行过程中产生了内存泄露、无效内存使用等问题, 作者暂时还未修复,感兴趣的读者可尝试修复该内存问题,tinyCoro期待你的代码合入!

http协议支持

对于异步协程库来说,不支持http协议那么该库就不能算作完整,不过目前主流的协程库cppcoro和libcoro均未支持,而作者经过调查后发现,构建http server本身就并不简单,尤其是支持路由注册功能,github上大部分的http服务器充其量只相当于文件服务器。

对于tinyCoro的http支持要求是支持http协议解析并实现服务器和客户端且服务端支持路由注册功能,最重要的是将其中涉及到的一系列IO操作与tinyCoro的异步机制完美融合。

目前的初步想法是将功能较为完善的开源项目cpp-httplib整合至tinyCoro,若读者有兴趣完成此部分,可以在include/coro/io/net/http文件夹下添加代码,期待收到你的提交~

Previous✨tinyCoro Bonus LabNext⚔️面试实战

Last updated 15 days ago