問題タブ [flow-control]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ethernet - ハードウェアをテストするためのポーズ フレームの生成
片面は 100Mbps イーサネット、もう片面は 100BASE-FX ファイバーから変換するメディア コンバーターを組み立てました。このコンバーターが入るアプリケーションは、全二重 / 一時停止フレーム フロー制御を使用してデータのオーバーロードを処理します。一時停止フレームを受け入れて処理するようにハードウェアを構成しました。私が必要としているのは、セットアップをテストして、メディア コンバーターがポーズ フレームを正しく処理することを確認する手段です。そのために、2つ質問があります....
1) ポーズ フレームの処理についてハードウェアをテストするための良い方法を誰かが持っていますか?
2)私が持っていたアイデアは、コンバーターを介してデータを送信することでした。その間に、既知の長さの一時停止フレームをコンバーターに送信します。次に、デバイスが正しい時間だけ一時停止することを確認します。この方法はもっともらしいと思われますか? もしそうなら、私がやろうとしていることを達成するために一時停止フレームを生成する簡単な方法 (ソフトウェア ツール) はありますか?
ここで何か助けていただければ幸いです。
ありがとう、マイク・ナイツ
swift - 異なる制御フロー ステートメントに同じタイトルを付けることができます
ネストされた 2 つの異なるループがあり、それぞれに特定の条件下で外側のループを中断する break ステートメントがあります。
外側の 2 つのループに同じタイトルを付けると、break ステートメントの混乱を招くのではないでしょうか?
次に、次のコードスニペットを試しました
コードは問題なく動作し、再宣言の問題は発生していません。スコープのトピックに関連している可能性があると思います。最初の ブレークでは#1コード ブロックのoutterLoopのみを確認でき、 2 番目のブレークでは、 outterLoopが配置されたスコープ (別名#2コード ブロック) でのみ outterLoop を確認できます。その結果、非表示のスコープにより、内側のブレークが「見る」ことができる変数が制限されました。
質問: 私はそれが正しいと理解していますか? そうでない場合は、私を修正してください。たとえ私が間違っていなかったとしても、私は非公式で不正確な説明を使用したと信じています. より正式で正確な説明をいただければ幸いです。
どうもありがとう
c++ - UART デバイス用の termios (CRTSCTS) によるハードウェア フロー制御
現在、Udoo Neo の C++ で UART 経由でデバイスと通信しています。このために、termios を使用して接続をセットアップし、デバイスにデータを書き込みます。この目的のために、ハードウェア フロー制御を使用し、termios でフラグ (CRTSCTS) を設定しました。
ハードウェア フロー制御のために、デバイスの RTS ラインをボードの CTS に接続し、オシロスコープを介して、読み取りの準備ができていない場合、デバイスがアクティブ ハイを与えていることも確認しました。
問題は、デバイスに数字をスパム送信する次の例でまだバイトが失われていることですが、ボードの出力には、すべてが正しく書き込まれていることが示されています。
HW フロー制御を使用すると UART がブロックされるので、情報が失われないと思いました。私はこれを正しく理解していませんか?それともコードにエラーがありますか?
助けてくれてありがとう
}
flow-control - pushtechnology 拡散サーバーのフロー制御により、クライアントの更新の公開が遅れる
制御クライアントは、さまざまなトピックの拡散を通じて、2 秒あたり 200 ~ 250 バイトのサイズの 100 の更新をクライアントに送信します (トピックごとに 2 秒で 1 つの更新)。問題は、これらを約 20 ~ 30 分間送信した後、フロー制御が開始され、フロー制御のために 1 ~ 2 時間後に更新が 5 ミリ秒から 100 ミリ秒遅れることです。Control Client を拡散して発行するためのフロー制御を回避する方法はありますか?
maxqueuesize は 10000 拡散 API ログに設定されています: pressure=0.04622500000000004 => 4 ミリ秒スリープ
http - HTTP/2 ホップバイホップ フロー制御はどのように実現されますか?
仕様が言うように:
フロー制御は接続に固有です。どちらのタイプのフロー制御も、エンドツーエンド パス全体ではなく、1 つのホップのエンドポイント間で行われます。
どちらのタイプのフロー制御もホップバイホップ、つまり 2 つのエンドポイント間のみです。仲介者は、従属接続間で WINDOW_UPDATE フレームを転送しません。ただし、受信者によるデータ転送のスロットリングは、フロー制御情報を元の送信者に間接的に伝播させる可能性があります。
しかし、これはどのように可能ですか?すべての仲介者が理解h2
またはh2c
プロトコルする必要があるようですが、2 つの質問があります。
HTTP/2 は比較的新しい標準であり、多くの Web サイトで有効になっているのを見てきました (私のブログを含む)。問題なくこれらの Web サイトにアクセスできますが、それは、ルーターやハブなどの途中のすべての中間デバイスが、独自の HTTP/2 スタックとフロー制御アルゴリズムを既に実装していることを意味しますか (RFC7540 はフロー制御アルゴリズムを規定していないため)。
ほとんどの Web サイトでは、アプリケーション層のデータを暗号化する
h2
ではなく を使用しています。h2c
HTTP/2 のフロー制御は、アプリケーション層のデータでもあるフレームを送信する受信者によって行われWINDOW_UPDATE
ます。では、中間デバイスはこれらのデータが何であるかをどのように知るのでしょうか? データを復号化してその部分を見ることができない場合、フレームWindow Size Increment
を転送せずにフロー制御をどのように達成するのでしょうか?WINDOW_UPDATE