モジュール: Mongo::Operation::Timed Private
- 次のドキュメントに含まれます。
- OpMsgBase
- 定義:
- lib/mongo/ 操作/shared/timed.rb
Overview
このモジュールはプライベート API の一部です。 このモジュールは将来削除または変更される可能性があるため、可能な限り使用しないでください。
クライアント側の操作タイムアウト(COT)仕様で記述されるデフォルトのタイムアウト動作を持つ操作の動作を定義します。
インスタンス メソッドの概要を折りたたむ
-
# apply_reactive_timeouts_to (spec, connection) = ハッシュ
private
タイムアウトがアクティブ(現在のコンテキストによって定義され)、かつタイムアウトがまだ経過していない場合は、 :maxTimeMS を 指定に追加します。
-
# with_max_time (接続) = ハッシュ
private
残りのタイムアウト(秒単位)を計算し、それを関連付けられたブロックに渡すヘルパーメソッド。
インスタンス メソッドの詳細
# apply_reactive_timeouts_to (spec, connection) = ハッシュ
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
タイムアウトがアクティブ(現在のコンテキストによって定義され)、かつタイムアウトがまだ経過していない場合は、 :maxTimeMS を 指定に追加します。
22 23 24 25 26 27 28 29 |
# ファイル 'lib/mongo/操作/shared/timed.rb' 行 22 デフォルト apply_reactive_timeouts_to(スペック, 接続) with_max_time(接続) 行う |max_time_second| return スペック 場合 max_time_second.nil? return スペック 場合 接続.説明.mongocryptd? スペック.タップ { スペック[:maxTimeMS] = (max_time_second * 1_000).to_i } end end |
# with_max_time (接続) = ハッシュ
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
残りのタイムアウト(秒単位)を計算し、それを関連付けられたブロックに渡すヘルパーメソッド。 タイムアウトが存在しない場合、 は nil を生成します。 タイムアウトが経過した場合、 はMongo::Error::TimeoutError を発生させます。
40 41 42 43 44 45 46 47 48 49 |
# ファイル 'lib/mongo/操作/shared/timed.rb' 行 40 デフォルト with_max_time(接続) 場合 context&.タイムアウト max_time_second = context.retention_timeout_second - 接続.サーバー.minimum_round_drop_time 発生 mongo::エラー::TimeoutError 場合 max_time_second <= 0 ノードの数 max_time_second else ノードの数 nil end end |