This file proxies the network client to its own thread.
- Proxy: The object that runs on the calling thread, probably app’s main thread.
- Bridge: The object that runs on the internal network thread.
- ProxyClient: Externally responds to the client.h API, but just sends messages over to the bridge thread.
- BridgeClient: Uses the client.c implementation to actually perform the requested actions.