Mercurial > hg
view .jshintrc @ 36370:11ba1a96f946
sshpeer: defer pipe buffering and stderr sidechannel binding
The doublepipe and bufferedinputpipe types facilitate polling
multiple pipes without blocking and for automatically forwarding
output from the SSH server's stderr pipe to the ui as "remote: "
output. This all happens automatically and callers don't need
to worry about reading from multiple pipes.
An upcoming change to version 2 of the SSH wire protocol will
eliminate the use of stderr and move side-channel output into
the "main" pipe. The SSH wire protocol will use a pair of
unidirectional pipes - just like the HTTP protocol. In this
future world, the doublepipe primitive isn't necessary because
the stderr pipe won't be used.
To prepare for eventually not using doublepipe, we delay the
construction of this primitive from immediately after
connection establishment to inside construction of the peer
instance. The handshake occurs between these two events. So
we had to teach the handshake code to read from stderr so
any stderr output from the server is still attended to early in
the connection lifetime.
Differential Revision: https://phab.mercurial-scm.org/D2383
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 21 Feb 2018 14:02:23 -0800 |
parents | bdd2e18b54c5 |
children |
line wrap: on
line source
{ // Enforcing "eqeqeq" : true, // true: Require triple equals (===) for comparison "forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty() "freeze" : true, // true: prohibits overwriting prototypes of native objects such as Array, Date etc. "nonbsp" : true, // true: Prohibit "non-breaking whitespace" characters. "undef" : true, // true: Require all non-global variables to be declared (prevents global leaks) // Environments "browser" : true // Web Browser (window, document, etc) }