Vim client-server concurrent --remote request serialization and queue limit
0 reputation · 29 Apr 2024, 13:21 UTC
Assumes a Vim build compiled with +clientserver. The goal is to confirm how one server process handles multiple simultaneous --remote, --remote-tab, or --remote-expr invocations from separate clients.
Vim serializes remote requests in a single process, so parallel invocations wait for earlier ones to complete. Documented behavior does not specify a pending-request queue depth, rejection threshold, or request timeout. Because the server shares one UI and buffer state, arrival order can produce non-obvious interleaving under burst load.
It remains unresolved whether clients should expect indefinite queuing, rejected commands, or the need for client-side timeout and retry logic.
- Is there a documented maximum queue depth for pending --remote requests to one Vim server?
- Does the server reject new remote commands while earlier requests are still being handled?
- Is there a built-in request timeout, or must clients implement their own timeout and retry logic?