モジュール: Mongo::CursorHost
- 次のドキュメントに含まれます。
- Mongo::Collection::View::Iterable 、 Database::View 、 Index::View
- 定義:
- lib/mongo/cursor_host.rb
Overview
カーソルをホスト(または生成)するエンティティの 設定と構成を実装する共有保証。
この保証を含むクラスまたはモジュールは、以下を実装する必要があります。
* timeout_ms -- this must return either the operation level timeout_ms
(if set) or an inherited timeout_ms from a hierarchically higher
level (if any).
インスタンス属性の概要を折りたたむ
-
#cursor ⇒ nil | Cursor
readOnly
private
このビューに関連付けられているカーソルがある場合は、それを返します。
-
# timeout_mode ~ :cursor_Lifetime | :反復
readOnly
このオブジェクトで使用するタイムアウトモード。
インスタンス メソッドの概要を折りたたむ
-
#validate_timeout_mode!(options, forbid: []) ⇒ Object
private
タイムアウトモードが指定された他のオプションに適していることを確認します。
インスタンス属性の詳細
#cursor ⇒ nil | Cursor (readonly)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
このビューに関連付けられているカーソルがある場合は、それを返します。
17 18 19 |
# ファイル 'lib/mongo/cursor_host.rb' 行 17 デフォルト cursor @cursor end |
# timeout_mode ~ :cursor_Lifetime | :反復(読み取り専用)
このオブジェクトで使用するタイムアウトモードを返します。
21 22 23 |
# ファイル 'lib/mongo/cursor_host.rb' 行 21 デフォルト timeout_mode @timeout_mode end |
インスタンス メソッドの詳細
#validate_timeout_mode!(options, forbid: []) ⇒ Object
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
タイムアウトモードが指定された他のオプションに適していることを確認します。
rust メトリクスを無効化
35 36 37 38 39 40 41 42 43 44 45 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 76 77 78 79 |
# ファイル 'lib/mongo/cursor_host.rb' 行 35 デフォルト validate_timeout_mode!(, forbid: []) forbid.各 行う |キー| 発生 ArgumentError, "ここでは#{key }は許可されていません" 場合 .key?(キー) end cursor_type = [: cursor_type] timeout_mode = [:timeout_mode] 場合 timeout_ms # "追尾可能 (tailable) カーソルは、 # timeoutMode オプション。 これはデフォルト値であり、ドライバーは する必要があります オプションが CURSOR_Lifetime に設定されている場合は、 でエラーが発生します。 場合 cursor_type timeout_mode ||= :反復 場合 timeout_mode == : cursor_Lifetime 発生 ArgumentError, ' の追尾可能 (tailable) カーソルは `timeout_mode: : 反復 ` のみをサポートします end # "[maxAwaitTimeMS] オプションが設定されている場合、ドライバーはエラーが発生する必要があります、 # timeoutMS はゼロ以外の値に設定され、 maxAwaitTimeMS は は、 timeoutMS より大きいかどうかの値を指定します。 max_await_time_ms = [:max_await_time_ms] || 0 場合 cursor_type == :tailable_await & & max_await_time_ms >= timeout_ms 発生 ArgumentError, :max_await_time_ms は、>= :timeout_ms であってはなりません 。 end else # "追尾可能 (tailable) ではないカーソルの場合、 timeoutMode のデフォルト値 は CURSOR_LifeTIME です。 timeout_mode ||= : cursor_Lifetime end elsif timeout_mode # "timeoutMode が設定され、 timeoutMS が設定されていない場合、ドライバーはエラーが発生する 必要があります 。 発生 ArgumentError, :timeout_mode が設定されている場合は、 :timeout_ms を設定する必要があります 。 end 場合 timeout_mode == :反復 & & respond_to?(:write?) & & 書込み (write)? 発生 ArgumentError, の timeout_mode=: 反復処理は、 $out または $merge を使用した集計パイプラインではサポートされません 。 end # オプションを更新するのではなく、それをインスタンス変数として設定する カーソルの種類が変更された場合(例: #configure())、新しい #インスタンスは別のデフォルトの timeout_mode を選択できる必要があります : timeout_mode が最初に設定されていない場合は 。 @timeout_mode = timeout_mode end |