Understanding OS-Backed Event Queues, System Calls, and Cross-Platform Abstractions 48 6. We call read on the socket we created in step 2. Figure 3. 1-A simplified view of the epoll and kqueue flow Completion-based event queues IOCP stands for input/output completion port. This is a completion-based event queue. This type of queue notifies you when events are completed. An example of this is when data has been read into a buffer. The following is a basic breakdown of what happens in this type of event queue: 1. We create an event queue by calling the syscall Create Io Completion Port. 2. We create a buffer and ask the OS to give us a handle to a socket. 3. We register an interest in Read events on this socket with another syscall, but this time we also pass in the buffer we created in (step 2), which the data will be read to. 4. Next, we call Get Queued Completion Status Ex, which will block until an event has been completed. 