クラス: 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 の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
オプションを使用してトポロジーを初期化します。
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、54 行 デフォルト 初期化(, モニタリング, クラスター) = (, クラスター) @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.機能.checkpoint_ドライバ_サポート。 ただし、 desc.不明な場合 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 return ただし、 mongo::Lint.有効か freeze end |
インスタンス属性の詳細
#互換性_エラー =例外(読み取り専用)
deployment_error を返します。トポロジーがドライバーと互換性がない場合、非互換性に関する情報を含む例外を返します。 トポロジーがドライバーと互換性がある場合は、 nil です。
148 149 150 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、148 行 デフォルト 互換性_エラー @Compatibility_error end |
# logical_session_timeout =整数? (読み取り専用)
値は 分単位であり、秒単位で返されるドライバーの他のほとんどの時間とは異なります。
論理セッション タイムアウト値(分単位)。
158 159 160 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、158 行 デフォルト logical_session_timeout @ logical_session_timeout end |
#monitoring ⇒ monitoring (readonly)
モニタリングを返す。
115 116 117 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、115 行 デフォルト モニタリング @monitoring end |
オプション=ハッシュ(読み取り専用)
オプション オプションを返します。
102 103 104 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、102 行 デフォルト @options end |
# server_descriptions =ハッシュ(読み取り専用)
server_descriptions クラスター内の各サーバーに 1 つずつ、アドレス文字列とサーバーの説明を返します。
133 134 135 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、133 行 デフォルト server_descriptions @server_descriptions end |
インスタンス メソッドの詳細
アドレス= 個 =配列 <String>
サーバーのアドレスを返します。
110 111 112 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、110 行 デフォルト address クラスター.address.map(&:シード) end |
互換性があるかどうか = true|false
互換性のあるトポロジーがドライバーと互換性があるかどうかを返します。
139 140 141 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、139 行 デフォルト 互換性があるかどうか @ Compatible end |
data_bearing_servers の数= true | false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
論理セッション タイムアウトを計算する目的で、トポロジーにデータを保持するサーバーがあるかどうかを返します。
165 166 167 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、165 行 デフォルト data_bearing_servers? @ha_data_bearing_servers end |
# max_election_id = BSON::ObjectId
プライマリによって報告された最大の electionId 。 場合は nil です。
175 176 177 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、175 行 デフォルト max_election_id [:max_election_id] end |
#max_set_version ⇒ Integer
プライマリによって報告された最大の setVersion 。 場合は nil です。
185 186 187 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、185 行 デフォルト max_set_version [:max_set_version] end |
# new_max_election_id (記述) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
190 191 192 193 194 195 196 197 198 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、190 行 デフォルト 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 の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
201 202 203 204 205 206 207 208 209 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、201 行 デフォルト 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
このトポロジーに構成されたレプリカセット名を取得します。
125 126 127 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、125 行 デフォルト replica_set_name [:replica_set_name] end |
server_hosts_match_any? (パターン)=true| false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
各サーバーアドレスをパターン リストと比較します。
220 221 222 223 224 225 |
# ファイル 'lib/mongo/cluster/トポロジー/base.rb' は、220 行 デフォルト server_hosts_match_any?(pattern) server_descriptions.any? 行う |addr_spec, _desc| addr, _port = addr_spec.分裂(':') pattern.any? { |パターン| addr.end_with?(パターン) } end end |