BOUNDARY. The only namespace that touches a socket.
One connection per command, deliberately. That is not a simplification, it
is the plugin's actual behaviour: _handle_client ends with
if self.auto_disconnect_client: client.close()
and auto_disconnect_client starts true. The plugin hangs up after every
command unless a client first sends the bare string disable_auto_disconnect,
so a client that assumes a persistent connection is really reconnecting on
every other call and discovering it at the least convenient moment. Opening
per command makes that explicit and costs a loopback TCP handshake.
Everything above this namespace speaks IGimpTransport and therefore never
learns that any of this happened.
BOUNDARY. The only namespace that touches a socket.
One connection per command, deliberately. That is not a simplification, it
is the plugin's actual behaviour: `_handle_client` ends with
if self.auto_disconnect_client: client.close()
and `auto_disconnect_client` starts true. The plugin hangs up after every
command unless a client first sends the bare string `disable_auto_disconnect`,
so a client that assumes a persistent connection is really reconnecting on
every other call and discovering it at the least convenient moment. Opening
per command makes that explicit and costs a loopback TCP handshake.
Everything above this namespace speaks `IGimpTransport` and therefore never
learns that any of this happened.(transport endpoint)(transport endpoint connect-timeout-ms)A SocketTransport for endpoint.
A `SocketTransport` for `endpoint`.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |