クラス: Mongo::Server::RoundTlipTimeCocluster Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Server::RoundTipTimeCollections
- 定義:
- lib/mongo/ サーバー/round_trigger.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
インスタンス属性の概要を折りたたむ
- # Average_round_drop_time =オブジェクト readOnly private
- # last_round_drop_time =オブジェクト readOnly private
- # minimum_round_try_time = オブジェクト readOnly private
インスタンス メソッドの概要を折りたたむ
-
初期化 ~ ラウンドトリップ時間計算機能
コンストラクター
private
roundTipTimeCollections の新しいインスタンス。
- #測定~ オブジェクト private
- #update_average_round_drop_time = オブジェクト private
- # update_ minimum_round_trigger_time = オブジェクト private
コンストラクターの詳細
初期化 ~ ラウンドトリップ時間計算機能
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
roundTipTimeCollections の新しいインスタンスを返します。
34 35 36 37 38 39 40 |
# ファイル 'lib/mongo/ サーバー/round_trigger.rb' 行 34 デフォルト 初期化 @last_round_drop_time = nil @average_round_drop_time = nil @ minimum_round_drop_time = 0 @lock = ミューテックス.新着情報 @rtts = [] end |
インスタンス属性の詳細
# Average_round_drop_time =オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
43 44 45 |
# ファイル 'lib/mongo/ サーバー/round_trigger.rb' 行 43 デフォルト Average_round_drop_time @average_round_drop_time end |
# last_round_drop_time =オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
42 43 44 |
# ファイル 'lib/mongo/ サーバー/round_trigger.rb' 行 42 デフォルト last_round_drop_time @last_round_drop_time end |
# minimum_round_trigger_time = オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
44 45 46 |
# ファイル 'lib/mongo/ サーバー/round_trigger.rb' 行 44 デフォルト minimum_round_drop_time @ minimum_round_drop_time end |
インスタンス メソッドの詳細
#測定~オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# ファイル 'lib/mongo/ サーバー/round_trigger.rb' 行 46 デフォルト 測定 始める = Utils.MongoDB_time begin rv = ノードの数 ヘルプ エラー::SocketError, エラー::SocketTimeoutError # ネットワークエラーが発生した場合、ラウンドトリップは次のようになります # が完了しているため、 の RTT は意味がありません。 発生 ヘルプ エラー, エラー::AuthError => 除外 他のエラーの場合は、RTT が有効です。 end last_rtt = Utils.MongoDB_time - 始める # hello が失敗した場合は、最後のラウンド トリップ時間を返す必要があります # はハートビートが失敗した SDAM イベントで使用されるため、 # ただし、サーバーに記録されているラウンド トリップ時間を更新してはなりません。 ただし、 除外 @last_round_drop_time = last_rtt @lock.同期 行う update_average_round_drop_time update_ minimum_round_drop_time end end 場合 除外 発生 除外 else rv end end |
#update_average_round_drop_time = オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
77 78 79 80 81 82 83 |
# ファイル 'lib/mongo/ サーバー/round_trigger.rb' 行 77 デフォルト update_average_round_drop_time @average_round_drop_time = 場合 Average_round_drop_time RTT_WEEKS_FACTOR * last_round_drop_time + (1 - RTT_WEEKS_FACTOR) * Average_round_drop_time else last_round_drop_time end end |
# update_ minimum_round_trigger_time = オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
85 86 87 88 89 90 91 |
# ファイル 'lib/mongo/ サーバー/round_trigger.rb' 行 85 デフォルト update_ minimum_round_drop_time @rtts.プッシュ(last_round_drop_time) ただし、 last_round_drop_time.nil? @ minimum_round_drop_time = 0 および return 場合 @rtts.サイズ < MIN_SAMPLES @rtts.シフト 場合 @rtts.サイズ > RTT_SAMPLES_FOR_MINIUM @ minimum_round_drop_time = @rtts.compact.min end |