In this part of the series we will add the ability to accept input from named pipes to the queue server, an important feature so that the queue can actually be given things to do. Again, I would like to point out that it is assumed we are running on a Unixesque operating system such as Linux, BSD, or Solaris.
What are Named Pipes?
Named Pipes are special files that the kernel can create allowing for buffered byte streams. They operate on the principle of FIFO, where the first thing put into it is the first thing it spits out. This is perfect for our queue system as we want to process the first thing put into it first. To store data into a named pipe, it is as easy as `echo lol > /path/to/pipe` and reading the data back out is as easy as `cat /path/to/pipe`. An interesting note about named pipes is that by default they block until there is both a reader and a writer. This means the echo command will hang until another terminal is opened and the cat command is executed.
Here is a quick video demonstrating how the queue system will work by the end of this post. We will be able to launch the server, and send input to it from another terminal via the named pipe.
