クラス: Mongo::Cluster::Triggers::Base
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Cluster::Triggers::Base
- 次による拡張機能。
- 転送可能
- 定義:
- lib/mongo/cluster/トポロジー/base.rb
Overview
すべてのトポロジに共通の動作を定義します。
既知のサブクラスを直接確認
LoadBalanced 、 ReplicaSetNoPrimary 、 Sharded 、 Single 、 Unknown
定数の概要
Loggableに含まれる定数
インスタンス属性の概要を折りたたむ
-
次の例外を参照してください:
readOnly
Compatibility_error トポロジーがドライバーと互換性がない場合、非互換性に関する情報の例外。
-
#logical_session_timeout ⇒ Integer?
readOnly
論理セッション タイムアウト値(分単位)。
-
#monitoring ⇒ monitoring
readOnly
監視を監視します。
-
#options ⇒ Hash
readOnly
オプション のオプション。
-
# server_descriptions =ハッシュ
readOnly
Server_descriptions クラスター内の各サーバーに 1 つある、アドレス文字列とサーバーの説明のマップ。
インスタンス メソッドの概要を折りたたむ
-
アドレス= 個 = 配列 <String>
サーバーのアドレスにアドレスを指定します。
-
互換性があるかどうか= true|false
互換性 トポロジーがドライバーと互換性があるかどうか。
-
data_bearing_servers の数= true | false
private
Having_data_bearing_servers トポロジーにデータを保持するサーバーがあるかどうかは、論理セッション タイムアウトを計算する目的で使用されます。
-
#初期化(オプション、モニタリング、クラスター) = ベース
コンストラクター
private
オプションを使用してトポロジーを初期化します。
-
# max_election_id = BSON::ObjectId
プライマリによって報告された最大の electionId 。
-
#max_set_version ⇒ Integer
プライマリによって報告された最大の setVersion 。
- # new_max_election_id (記述) = オブジェクト private
- # new_max_set_version (記述) = オブジェクト private
-
# replica_set_name = string
このトポロジーに構成されたレプリカセット名を取得します。
-
server_hosts_match_any? (パターン)=true| false
private
各サーバーアドレスをパターン リストと比較します。
から含まれるメソッド::public
#publish_cmap_event 、 #publish_event 、 #publish_sam_event
Loggableに含まれるメソッド
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
コンストラクターの詳細
#初期化(オプション、モニタリング、クラスター) =ベース
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
オプションを使用してトポロジーを初期化します。
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、56 行 デフォルト 初期化(, モニタリング, クラスター) = (, クラスター) @options = @monitoring = モニタリング @cluster = クラスター サーバー説明のリストは、次の時点でのみ修正されます: # トポロジー作成。 サーバーの説明が後で変更された場合、 # の新しいトポロジー インスタンスを作成する必要があります。 @server_descriptions = {} (サーバー = クラスター.server_list).各 行う |サーバー| @server_descriptions[サーバー.address.to_s] = サーバー.説明 end 場合 is_a?(LoadBalanced) @ Compatible = true else begin server_descriptions.各 行う |address_str, desc| ただし、 desc.不明な場合 desc.機能.checkpoint_ドライバ_サポート。 end end ヘルプ エラー::サポートされていない機能 => e @ Compatible = false @Compatibility_error = e else @ Compatible = true end end @ha_data_bearing_servers = false @ logical_session_timeout = server_descriptions.inject(nil) 行う |min, (address_str, desc)| # LST はデータを保持するサーバーからのみ読み取られます 場合 desc.data_bearing? @ha_data_bearing_servers = true break ただし、 タイムアウト = desc.logical_session_timeout [タイムアウト, (min || タイムアウト)].min else min end end 場合 mongo::Lint.有効か freeze end end |
インスタンス属性の詳細
#互換性_エラー =例外(読み取り専用)
deployment_error を返します。トポロジーがドライバーと互換性がない場合、非互換性に関する情報を含む例外を返します。 トポロジーがドライバーと互換性がある場合は、 nil です。
151 152 153 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、151 行 デフォルト 互換性_エラー @Compatibility_error end |
# logical_session_timeout =整数? (読み取り専用)
値は 分単位であり、秒単位で返されるドライバーの他のほとんどの時間とは異なります。
論理セッション タイムアウト値(分単位)。
161 162 163 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、161 行 デフォルト logical_session_timeout @ logical_session_timeout end |
#monitoring ⇒ monitoring (readonly)
モニタリングを返す。
118 119 120 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、118 行 デフォルト モニタリング @monitoring end |
オプション=ハッシュ(読み取り専用)
オプション オプションを返します。
105 106 107 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、105 行 デフォルト @options end |
# server_descriptions =ハッシュ(読み取り専用)
server_descriptions クラスター内の各サーバーに 1 つずつ、アドレス文字列とサーバーの説明を返します。
136 137 138 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、136 行 デフォルト server_descriptions @server_descriptions end |
インスタンス メソッドの詳細
アドレス= 個 =配列 <String>
サーバーのアドレスを返します。
113 114 115 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、113 行 デフォルト address クラスター.address.map(&:シード) end |
互換性があるかどうか = true|false
互換性のあるトポロジーがドライバーと互換性があるかどうかを返します。
142 143 144 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、142 行 デフォルト 互換性があるかどうか @ Compatible end |
data_bearing_servers の数= true | false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
論理セッション タイムアウトを計算する目的で、トポロジーにデータを保持するサーバーがあるかどうかを返します。
168 169 170 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、168 行 デフォルト data_bearing_servers? @ha_data_bearing_servers end |
# max_election_id = BSON::ObjectId
プライマリによって報告された最大の electionId 。 場合は nil です。
178 179 180 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、178 行 デフォルト max_election_id [:max_election_id] end |
#max_set_version ⇒ Integer
プライマリによって報告された最大の setVersion 。 場合は nil です。
188 189 190 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、188 行 デフォルト max_set_version [:max_set_version] end |
# new_max_election_id (記述) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
193 194 195 196 197 198 199 200 201 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、193 行 デフォルト new_max_election_id(説明) 場合 説明.election_id & & (max_election_id.nil? || 説明.election_id > max_election_id) 説明.election_id else max_election_id end end |
# new_max_set_version (記述) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
204 205 206 207 208 209 210 211 212 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、204 行 デフォルト new_max_set_version(説明) 場合 説明.set_version & & (max_set_version.nil? || 説明.set_version > max_set_version) 説明.set_version else max_set_version end end |
# replica_set_name = string
このトポロジーに構成されたレプリカセット名を取得します。
128 129 130 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、128 行 デフォルト replica_set_name [:replica_set_name] end |
server_hosts_match_any? (パターン)=true| false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
各サーバーアドレスをパターン リストと比較します。
223 224 225 226 227 228 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、223 行 デフォルト server_hosts_match_any?(pattern) server_descriptions.any? 行う |addr_spec, _desc| addr, _port = addr_spec.分裂(/:/) pattern.any? { |パターン| addr.end_with?(パターン) } end end |