[ruby-list:50892] Re: Net::SSH を使ったパイプ処理
From:
hirura <hirura@...>
Date:
2020-06-02 08:00:11 UTC
List:
ruby-list #50892
データ転送は、その量を消費しながら実施されます。 減ってくると、ピアのどちらかが増やしたいというリクエストを送って、合意がとれたら増える、というのを繰り返します。 今回のケースですと、サーバー側はおそらく増やしたいリクエストを送っているけれども、クライアント側がそれを受け取らずにデータを送り続けている、みたいな状況になっているのかと。 2020年6月2日(火) 16:22 <emo@nifs.ac.jp>: > > On 2020/06/02 16:07, hirura wrote: > > ライブラリに詳しいわけではないので間違ってるかもですが、exec のブロック > > の中は、コールバックの処理だけになるのがライブラリの期待ではないでしょうか。 > > > > while ループのために、exec メソッドがサーバー応答を待たずに継続され、本 > > 来、一部データ送信、サーバーレスポンス、の繰り返しのはずが、送信してばか > > りになって、サーバーからのウィンドウサイズ調整のリクエストが処理されてい > > ないとか。 > > > > on_process(execリクエストや、dataリクエストの完了のサーバー応答のはず) > > のようなコールバックのなかで、バッファ読み込んで送信、を繰り返す形かなと。 > > > > > > remote_window_size とは何ぞやとドキュメントを > 見ると、以下のように書かれているんですね。 > > https://net-ssh.github.io/net-ssh/classes/Net/SSH/Connection/Channel.html > > > remote_maximum_window_size [R] > > The maximum amount of data that the remote end of this channel can > receive. This is a total, not per-packet. > > > > remote_window_size [R] > > This is the remaining window size on the remote end of this channel. > When this reaches zero, no more data can be sent. > > これって、リモート側が受け取れる、総データ量に上限があるっていうことですか? > > 江本 > >