git-lfs/ssh
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
..
connection.go ssh: add support for lazy spawning of pure SSH connections 2024-01-29 20:07:43 +00:00
pktline.go ssh: introduce an ID for multiple traced pkt-line connections 2021-07-20 19:15:59 +00:00
protocol.go ssh: don't leak resources when falling back to legacy protocol 2022-10-05 18:47:40 +00:00
ssh_test.go ssh: Specifically designate a master multiplex connection 2023-10-09 14:24:41 -04:00
ssh.go ssh: Specifically designate a master multiplex connection 2023-10-09 14:24:41 -04:00