git-lfs/locking
brian m. carlson 44b8801cbb
ssh: add support for lazy spawning of pure SSH connections
Right now, we spawn potentially several connections without necessarily
needing to.  For example, if we're transferring two objects, we can
practically use at most three connections: one for the batch and one for
each object.

To make this more efficient and avoid needless overhead, let's not
actually create the connection until we attempt to acquire it.  At that
point, if it doesn't exist, we'll spawn a new one (using the control
path socket if possible) and then start sending data.  Otherwise, unless
it's the initial connection, let's just stub it out until we actually
need it.

Note that we still create the connection before it's needed because we
create all workers up front, but that will change in a future commit now
that we have this change in place.

Co-authored-by: Chris Darroch <chris8088@github.com>
2024-01-29 20:07:43 +00:00
..
schemas Make 'locked_at' required in JSON schema 2019-05-16 12:10:16 +03:00
api_test.go lfshttp: fix invalid Accept header syntax 2022-05-06 14:14:08 +01:00
api.go locking: make strings translatable 2022-01-18 17:38:24 +00:00
cache_test.go Replace deprecated io/ioutil functions 2024-01-11 03:48:51 +08:00
cache.go Set package version to v3 2021-09-02 20:41:08 +00:00
lockable.go make additional message strings translatable 2022-01-29 22:36:19 -08:00
locks_test.go Replace deprecated io/ioutil functions 2024-01-11 03:48:51 +08:00
locks.go locks: avoid looking up root directory repeatedly 2023-11-27 21:22:13 +00:00
ssh.go ssh: add support for lazy spawning of pure SSH connections 2024-01-29 20:07:43 +00:00