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

Cross platform C event loop with coroutines and context support

License

NotificationsYou must be signed in to change notification settings

acronis/pcs-io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

pcs_io is a C cross platform library implementing async event loop with coroutines, context and other features.

Features

  1. Basic event loop APIs: timers, jobs, thread pool jobs etc.
  2. Usage of native OS asynchronous APIs support: epoll, Windows IOCP, SUN ports, BSD kqueue, RDMA
  3. Full memory usage accounting and wrapped malloc APIs
  4. coroutines support with:
    • I/O blocking APIs for files, sockets, pipes, SSL sockets.
    • timeouts and I/O cancellation (via context)
    • contexts support similar to Golang
    • multi-threading support with Coroutines scheduler
    • coroutines waitqueues, mutexes etc.
  5. simple config files API support
  6. built-in cross platform getopt_long support
  7. basic containers (RB tree, lists, heap)
  8. Network address abstraction layer
  9. internal scatter gather bufqueue and user pipes

Built-in debug features and capabilities

  • Async compressed on the fly logging with GZIP/ZSTD support
  • Address and thread sanitizer support
  • Built-in profiler and watchdog monitoring event loop is really non-blocking (and catching kernel issues, swap out etc.)
  • Memory accounting with detailed per-line reporting
  • BUG_ON() assertions and call trace dumps on errors / crashes

About

Cross platform C event loop with coroutines and context support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp