クラス: Mongo::Session::SessionPool Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Session::SessionPool
- 定義:
- lib/mongo/session/session_Pool.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバー セッションのプール。
インスタンス メソッドの概要を折りたたむ
-
チェックイン(セッション) = オブジェクト
private
プールにサーバー セッションをチェックインします。
-
#checkout ⇒ ServerSession
private
プールからサーバー セッションをチェックアウトします。
-
# end_sessions =オブジェクト
private
endSessions コマンドをサーバーに送信して、プール内のすべてのセッションを終了します。
-
#initialize(cluster) ⇒ SessionPool
コンストラクター
private
セッション プールを初期化します。
-
詳しくは、 を 検査し ますstring
private
検査で使用するための書式設定された string を取得します。
コンストラクターの詳細
#initialize(cluster) ⇒ SessionPool
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
セッション プールを初期化します。
34 35 36 37 38 |
# ファイル 'lib/mongo/session/session_Pool.rb', 行 34 デフォルト 初期化(クラスター) @queue = [] @mutex = ミューテックス.新着情報 @cluster = クラスター end |
インスタンス メソッドの詳細
チェックイン(セッション) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
プールにサーバー セッションをチェックインします。
79 80 81 82 83 84 85 86 |
# ファイル 'lib/mongo/session/session_Pool.rb', 行 79 デフォルト checkin(セッション) 発生 ArgumentError, のセッションは nil にはできません。 場合 セッション.nil? @mutex.同期 行う prune! @queue.unshift(セッション) 場合 return_to_queue?(セッション) end end |
#checkout ⇒ ServerSession
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
プールからサーバー セッションをチェックアウトします。
60 61 62 63 64 65 66 67 68 69 |
# ファイル 'lib/mongo/session/session_Pool.rb', 行 60 デフォルト チェックアウト @mutex.同期 行う ループ 行う return ServerSession.新着情報 場合 @queue.空の場合 セッション = @queue.シフト return セッション ただし、 near_to_expire?(セッション) end end end |
# end_sessions =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
endSessions コマンドをサーバーに送信して、プール内のすべてのセッションを終了します。
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# ファイル 'lib/mongo/session/session_Pool.rb', 行 94 デフォルト end_sessions まで @queue.空の場合 サーバー = ServerSelector.得る(モード: :primary_preferred).[select_server](@cluster) op = 操作::コマンド.新着情報( セレクター: { endSessions: @queue.シフト(10_000).map(&:session_id), }, db_name: Database::管理者 ) context = 操作::Context.新着情報(次のオプションがあります。 { server_api: サーバー.[:server_api], }) op.実行する(サーバー, context: context) end ヘルプ mongo::エラー, エラー::AuthError end |
詳しくは、 を 検査しstring ます
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
検査で使用するための書式設定された string を取得します。
48 49 50 |
# ファイル 'lib/mongo/session/session_Pool.rb', 行 48 デフォルト 検査する " #< Mongo::Session::SessionPool: 0 x #{ object_id } current_size= #{ @queue . size } > " end |