While working on #10 I saw that we pass function pointers to listenToClients, but since that function's implementation is always compiled into the same module as the client-interface.c it seems pointless. The pointers might make sense if there was some plan to provide different implementations of handleReader, clientConnected, or handleClient. Instead we have multiple implementations of the calling function. That doesn't make much sense, so I'll probably rip that bit of indirection out.
While working on #10 I saw that we pass function pointers to listenToClients, but since that function's implementation is always compiled into the same module as the client-interface.c it seems pointless. The pointers might make sense if there was some plan to provide different implementations of handleReader, clientConnected, or handleClient. Instead we have multiple implementations of the calling function. That doesn't make much sense, so I'll probably rip that bit of indirection out.