問題タブ [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.

0 投票する
1 に答える
125 参照

algorithm - 動的離散ノード フロー制御に適したローカル ヒューリスティックとは?

ノードのセットがあるとします。一部のノードはプロデューサー、一部はコンシューマー、一部はルーターです。各ノードには、1 日に受け入れることができるユニットの最大数と、1 日に送信できるユニットの最大数を定義する最大スループットがあります (この場合、受け入れと送信は互いに干渉しません)。各ノードにはユニット用のストレージ容量もあり、フローの変動に対応できます。また、各ノードは最大 8 つの近くのノード (平面上) とのみアウト接続でき、同じ制限がイン接続にも適用されます。

私はすでに、グラフを指定してノードを列挙し、次のノードにユニットをプッシュする十分な仕事をするヒューリスティックを持っています。各ノードを列挙し、max(ceil(remaining-sendable-units/remaining-following-nodes), left-receivable-units-at-receiver) を各ターゲット ノードに送信します。

ここで、ノードを自動的に見て、十分なフローを実現するためにグラフ トポロジをどのようにするかを決定する方法が必要です。私の基本的なアイデアは、各ノードに「責任」を割り当てることでした。最初は、それらが消費したユニット数に相当します。次に、n1 から n2 にエッジを追加すると、n2 の責任の一部が n1 に与えられます。しかし、ノードが消費できる量とノードが受け入れる量の違いがアルゴリズムを混乱させ、私をぐるぐる回らせることにすぐに気付きました。

編集 各プロデューサー/コンシューマーによって消費される量は、時間の経過とともに変化する可能性があり (最大値を下回る)、ノードを追加または削除できます。

簡単なアイデアはありますか?

0 投票する
5 に答える
17835 参照

java - switch ステートメントと if else ステートメントを組み合わせる方法

私はオンラインの Java クラスを受講していますが、先生は次のことを求めています: ユーザーに 4 つの基本的な数学方程式 (足し算、引き算、掛け算、割り算) を示す数字を求めるメニュー プログラムを作成してください。if/else 構造を使用して必要な操作を行い、ユーザーに入力を求めて方程式を解きます。私はこれに不慣れですが、if/elseのポイントがわかりませんが、それは無関係だと思います。

以下のようにケース 1、2、3、4 を使用して動作を決定する場合、「If ステートメント」でケースを参照するにはどうすればよいですか?

// このように 'If' を使用できると思いました

前もって感謝します!

0 投票する
2 に答える
261 参照

perl - Perl elsif が評価されていない

このコードに問題がある人はいますか? (Linux 上で) 実行すると、「エラー: 不明なホスト」ブロックに直接移動します。

Perl はバージョン 5.8.6 です

0 投票する
2 に答える
2263 参照

serial-port - Atxmega USART フロー制御

Atxmega256 の USART フロー制御に問題があります。フロー制御に RTS/CTS を使用するモデムと通信しています。モデムが CTS を Low に設定したら、再び High になるまでデータの送信を停止したいと考えています。現在、割り込み駆動の USART ルーチンを使用していますが、送信を停止する良い方法が見つからないようです。CTS が低くなったときに送信を停止すると、送信バッファーに既にあるデータが送信され、失われます。

送信を無効/有効にするために次のことを試しました:

残念ながら、それは送信を永久に無効にしているようです。何か案は?

よろしくフレドリック

0 投票する
3 に答える
113 参照

arrays - Perlでハッシュの配列をループしようとしてエラーが発生しました

これは数回前に尋ねられましたが、それらの答えのどれも私の状況ではうまくいかないようです。

私のコード:

このコードを実行すると、次のように出力されます。'./partc.pl行152で"strict refs"が使用されている間は、文字列( "-1")をHASHrefとして使用できません。

なぜこれが起こっているのか考えていますか?ループ内でハッシュを適切に逆参照できないようです。

0 投票する
1 に答える
1623 参照

python - PythonTwistedを使用したUDPフロー制御

クラスから継承するtwisted.internet.protocol.DatagramProtocolクラスがあります。私のstartProtocol()実装ではstartWriting()、を呼び出します。これにより、ブロックせずにソケットに書き込むことができるたびに、ソケットに通知が届きます。2つの質問:

  1. ソケットが書き込み可能になると、ツイストされたどのメソッドが呼び出されますか?
  2. startWriting()発信UDP帯域幅を特定のデータグラム/秒の量に制限するために特定の時間間隔で呼び出す必要がある場合、メソッドをどのように呼び出す必要がありますか?
0 投票する
3 に答える
6783 参照

python - オブジェクトが存在するかどうかの Python テスト

フロー制御に try: except: を使用するのはスタイルが悪いと思いますが、Django に DB フィールドが存在するかどうかをテストする次のコードの書き方がわかりません。これは機能する「ダーティ」コードです。

私はむしろこのようなことをしたいのですが、ifステートメントが実行され、オブジェクトが存在しない場合に例外が発生します:

0 投票する
1 に答える
1345 参照

windows - Rs232 ソフトウェア フロー制御

Rs232 ソフトウェア フロー制御 (別名 XOn/XOff) に関する一般的な質問があります。

.Net 実装 (およびネイティブの win32 api) はどちらも、WriteTimeout / ReadTimeout と呼ばれるプロパティを定義します。これは、ミリ秒単位の時間で、その後は通信が期限切れであると見なされます。

いいえ、私の問題は次のとおりです。デバイスに 5 バイトの文字列を送信すると、予想どおり、WriteTimeout が表示されません。これはどのように実装されていますか?ソフトウェアフロー制御について私が見つけたすべては、受信バッファがいっぱいになると XOFF が設定されるということです。再度受信する準備ができたら XOn。

しかし、私が見た動作から、私が送信した 5 バイトの情報を処理した後、デバイスが XON を送信し、ウィンドウが対応するイベントを生成するための情報を作成しているのではないかと思います。

では、2 線のみの RS232 実装で XON を送信するのはいつでしょうか? バッファがいっぱいで、受信を再開する場合のみ。または、処理したすべてのチャンクの後に「まだ準備ができている」ことを知らせるために?

実装方法は?

事前に乾杯&thx!

コーレルゴット

0 投票する
2 に答える
3817 参照

ruby - Rubyでステートメントをやり直して再試行する目的は何ですか?

私が考えることができる唯一のユースケースはredo、ソケットへの書き込みやデータベースからの読み取りなどの操作ですが、これらが1回失敗すると、その後の試行も失敗する可能性が高いため、私にとっては少し無意味に思えますretry。それが役立つと思われるケースは本当に考えられません。

私はRubyを知らないか使用していないので、これは意味がないように思えるかもしれませんが、いつか素晴らしい言語を作成したいと思っているので、少なくとも、そこにある最も人気のある言語の設計の背後にある理由を知りたいと思います。

0 投票する
1 に答える
5077 参照

arduino - Java RXTX と Arduino 間のシリアル通信のフロー制御設定

私の Seeeduino Mega 1.22 には、シリアル入力を LCD ディスプレイに表示するだけの簡単なスケッチがあります。lynx term と arduino シリアル モニターを使用すると正常に動作します。送信された入力が表示されています。この問題は、Win7 x64 マシン上の Eclipse で実行されている Java プログラムと Seeeduino の間でシリアル通信を開始したいときに始まります。RXTX x64 ビルドを使用しています。このプログラムは、開いているポートを介していくつかの string.getBytes() を送受信することを目的としています。Java 側での受信は機能しますが、Arduino 側での受信は失敗します。

問題は適切な Flow Control 設定にあるようです。私は何人かの人々がここのように同じ問題を抱えているのを見ましたRXTXで受信する問題

しかし、この解決策は私にはうまくいきません。FlowControl を None に設定すると、シリアル接続が確立されたことを示すブロック アイコンのみがディスプレイに表示されますが、それ以外は何も表示されません。FlowControl を RCTS_IN | に設定すると、RCTS_OUT の場合、確立された接続を閉じると、ディスプレイにのみ文字列バイトが表示されます。

接続を閉じたときにのみデータが送信されるのはなぜですか (出力ストリームをフラッシュしても効果がありませんでした)。Flow Controll 設定のどこが間違っていますか?

これは、私が使用している変更された connect() メソッドです。

お時間をいただきありがとうございます