This is a very WIP project I'm building to learn how to use and write C++.
Writing a systems-level program like a pipeviewer clone is a great way to get used to the basics in any systems programming language, as it teaches you
- I/O Buffering and handling
- Parallelism and Memory Sharing between threads
- Structures
Ensure that you have a functioning C++ build toolchain. As of right now I have no clue what this means, so I'll update this when I learn more.
To compile -
$ make
g++ main.cpp -o main
To use -
$ ./main < /usr/bin/yes > /dev/null
# lots of stuff
# ...
20999 Bytes in 0 seconds
- Implement Reader loop, metrics proc loop, writer loop
- Implement Ring Buffer / Channel Abstraction (https://youtu.be/KBZlN0izeiY?si=qw5ae03yOfdoCx5M&t=291)
- Channel: RingBuffer, Mutex, Start and End index
- Implement consecutive thread spawning and waiting