How does Gradle communicate with the daemons?

In analyzing how Gradle works, I can see that the daemon process(es) are created to perform work. However, how does Gradle talk to the daemons to tell them what to do? It appears you folks are using pipes, which means that the daemons are tethered to the Gradle core app and that they cannot be accelerated with tools such as Electric Cloud’s ElectricAccelerator. Is this assessment correct?