클래스: Mongo::Cluster::Topology::Base
- 상속:
-
객체
- 객체
- Mongo::Cluster::Topology::Base
- 확장자:
- 전달 가능
- 다음을 포함합니다.
- 로깅 가능, 모니터링::게시 가능
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb
개요
모든 토폴로지에 공통적인 동작을 정의합니다.
직접 알려진 하위 클래스
상수 요약
Loggable에서 포함된 상수
인스턴스 속성 요약 접기
-
#compatibility_error ⇒ 예외
읽기 전용
Compatibility_error 토폴로지 가 운전자 와 호환되지 않는 경우 비호환성에 관한 정보가 포함된 예외입니다.
-
#logical_session_timeout ⇒ Integer?
읽기 전용
논리적 세션 시간 초과 값(분)입니다.
-
#monitoring ⇒ monitoring
읽기 전용
모니터링 모니터링.
-
옵션 #개 ⇒ 해시
읽기 전용
옵션 옵션입니다.
-
#server_descriptions ⇒ 해시
읽기 전용
Server_descriptions 클러스터의 각 서버에 하나씩 주소 문자열을 서버 설명에 매핑합니다.
인스턴스 메서드 요약 접기
-
주소 # 개 ⇒ Array<String>
MongoDB 서버 주소를 지정합니다.
-
#호환되나요? ⇒ true|false
호환 가능 토폴로지가 드라이버와 호환되는지 여부입니다.
-
#data_bearing_servers? ⇒ true | false
비공개
Have_data_bearing_servers 논리적 세션 시간 초과 계산을 위해 토폴로지에 데이터 보유 서버가 있는지 여부입니다.
-
#initialize(options, monitoring, cluster) ⇒ Base
생성자
비공개
옵션을 사용하여 토폴로지 를 초기화합니다.
-
#max_election_id ⇒ BSON::ObjectId
프라이머리에서 보고한 것 중 가장 큰 ElectionId입니다.
-
#max_set_version ⇒ Integer
프라이머리가 보고한 것 중 가장 큰 setVersion입니다.
- #new_max_election_id(설명) ⇒ 객체 비공개
- #new_max_set_version(설명) ⇒ 객체 비공개
-
#replica_set_name ⇒ string
이 토폴로지에 대해 구성된 복제본 세트 이름을 가져옵니다.
Monitoring::Publishable에 포함된 메서드
#publish_cmap_event, #publish_event, #publish_s담_event
Loggable에 포함된 메서드
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
생성자 세부 정보
#initialize(options, monitoring, cluster) ⇒ Base
이 메서드는 비공개 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 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 56 def 초기화(, 모니터링, cluster) = (, cluster) @options = @monitoring = 모니터링 @cluster = cluster # 서버 설명 목록은 다음 시점에 고정됩니다. # 토폴로지 생성. 나중에 서버 설명이 변경되면 # 새 토폴로지 인스턴스 를 만들어야 합니다. @server_descriptions = {} (서버 = cluster.server_list).각 do |서버| @server_descriptions[서버.주소.to_s] = 서버.description end 만약 is_a?(로드 밸런싱) @compatible = true other 시작 server_descriptions.각 do |주소_str, desc| 하지 않는 한 desc.알 수 없음? desc.기능.check_driver_support! end end 구출 오류::지원되지 않는 기능 => e @compatible = 거짓 @compatibility_error = e other @compatible = true end end @ Have_data_bearing_servers = 거짓 @logical_session_timeout = server_descriptions.주입(nil) do |min, (주소_str, desc)| # LST는 데이터 보유 서버에서만 읽습니다. 만약 desc.data_bearing? @ Have_data_bearing_servers = true 휴식 하지 않는 한 타임아웃 = desc.logical_session_timeout [타임아웃, (min || 타임아웃)].min other min end end 만약 mongo::Lint.활성화? 동결 end end |
인스턴스 속성 세부 정보
#compatibility_error ⇒ 예외 (읽기 전용)
반환값 compatibility_error 토폴로지가 드라이버와 호환되지 않는 경우 비호환성에 관한 정보가 포함된 예외가 발생합니다. 토폴로지가 드라이버와 호환되는 경우 nil입니다.
151 152 153 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 151 def 호환성 오류 @compatibility_error end |
#logical_session_timeout ⇒ Integer? (읽기 전용)
초 단위로 반환되는 운전자 의 다른 시간과 달리 값은 분 단위입니다.
논리적 세션 시간 초과 값(분)입니다.
161 162 163 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 161 def logical_session_timeout @logical_session_timeout end |
#모니터링 ⇒ 모니터링 (읽기 전용)
모니터링 모니터링을 반환합니다.
118 119 120 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 118 def 모니터링 @monitoring end |
#options ⇒ 해시 (읽기 전용)
반환값 options options.
105 106 107 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 105 def @options end |
#server_descriptions ⇒ 해시 (읽기 전용)
서버 설명에 대한 주소 문자열 맵을 클러스터의 각 서버에 대해 하나씩 server_descriptions를 반환합니다.
136 137 138 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 136 def server_descriptions @server_descriptions end |
인스턴스 메서드 세부 정보
주소 # 개 ⇒ Array<String>
주소를 반환합니다. 서버 주소입니다.
113 114 115 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 113 def 주소 cluster.주소.map(&:seed) end |
#호환되나요? ⇒ true|false
반환값 호환 가능 토폴로지가 드라이버와 호환되는지 여부를 반환합니다.
142 143 144 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 142 def 호환되나요? @compatible end |
#data_bearing_servers? ⇒ true | false
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
반환값 have_data_bearing_servers 논리적 세션 시간 초과 계산을 위해 토폴로지 에 데이터 보유 서버가 있는지 여부를 반환합니다.
168 169 170 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 168 def data_bearing_servers? @ Have_data_bearing_servers end |
#max_election_id ⇒ BSON::ObjectId
프라이머리에서 보고한 것 중 가장 큰 ElectionId입니다. nil일 수 있습니다.
178 179 180 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 178 def max_election_id [:max_election_id] end |
#max_set_version ⇒ Integer
프라이머리가 보고한 것 중 가장 큰 setVersion입니다. nil일 수 있습니다.
188 189 190 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 188 def max_set_version [:max_set_version] end |
#new_max_election_id(설명) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
193 194 195 196 197 198 199 200 201 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 193 def new_max_election_id(description) 만약 description.Election_id && (max_election_id.nil? || description.Election_id > max_election_id) description.Election_id other max_election_id end end |
#new_max_set_version(설명) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
204 205 206 207 208 209 210 211 212 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 204 def new_max_set_version(description) 만약 description.set_version && (max_set_version.nil? || description.set_version > max_set_version) description.set_version other max_set_version end end |
#replica_set_name ⇒ string
이 토폴로지에 대해 구성된 복제본 세트 이름을 가져옵니다.
128 129 130 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/cluster/topology/base.rb', 줄 128 def replica_set_name [:replica_set_name] end |