タグ

scalaとreliableに関するmanabouのブックマーク (1)

  • Scalaで書く、高信頼型(Reliable)UDP Echoクライアント/サーバ - CLOVER

    これまで、Clojureを中心にUDPを使ったプログラミングをしていましたが、今回はちょっとScalaのみにします。 お題は、高信頼型(Reliable)UDP。 UDPは、データグラムが正しい順序で到着することを保証しませんし、パケットロスも検出できません。これを克服するために、 すべてのデータグラムにシーケンス番号を付ける 送信側は、(受信側からの)確認にタイムアウトを設け、確認が時間以内に来なかったらリクエストを再送する ということで信頼性を付与します。 タイムアウトと再送については、単に一定のタイムアウト時間を使うやり方ではなく、ネットワークの性質や状態、負荷などを考慮する必要があります。ここで、TCPに習い パケットが送信者から受信者に到着して再び戻るまでの往復時間(Round-Trip Time:ラウンドトリップタイム)の現時点の推計値を統計的に求め、維持する。この推計値を元に

    Scalaで書く、高信頼型(Reliable)UDP Echoクライアント/サーバ - CLOVER
  • 1