클래스: Mongo::Server::Description::Features

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
lib/ Mongo/ 서버/description/features.rb

개요

특정 서버가 지원하는 기능에 대한 동작을 정의합니다.

이후:

  • 2.0.0

상수 요약 접기

Mappings =

기능 목록과 해당 기능이 표시되는 유선 프로토콜 버전입니다.

유선 프로토콜 버전은 다음과 같이 서버 릴리스에 매핑됩니다.

  • 8 => 4.2
  • 9 => 4.4
  • 13 => 5.0
  • 14 => 5.1
  • 17 => 6.0

이후:

  • 2.0.0

{
  merge_out_on_secondary: 13,
  get_more_comment: 9,
  retryable_write_error_label: 9,
  commit_quorum: 9,
}.동결
SERVER_TOO_OLD =

이 버전의 드라이버에 비해 서버가 너무 오래된 경우 오류 메시지가 표시됩니다.

이후:

  • 2.5.0

'(%s)의 서버가 유선 버전(%s)을 보고하지만, 이 버전의 Ruby 드라이버 ' +
'(%s) 이상이 필요합니다.'
SERVER_DEPRECATED =

서버 버전이 더 이상 사용되지 않는 경우 경고 메시지가 표시됩니다.

이후:

  • 2.0.0

'(%s)에 있는 서버에서 wire version (%s)을 보고했습니다. 하지만 해당 wire version에 대한 지원은 ' \
'더 이상 사용하지 않으며 Ruby 드라이버의 추후 버전에서 제거됩니다. ' \
'MongoDB 서버를 족히 최신 버전으로 업그레이드해 주세요.'
DRIVER_TOO_OLD =

운전자 가 서버 버전에 비해 너무 오래된 경우 오류 메시지가 표시됩니다.

이후:

  • 2.5.0

'Server at (%s) requires wire version (%s), but this version of the Ruby 드라이버 ' +
'(%s)까지만 지원합니다.'
EMPTY_RANGE =

DEPRECATED_WIR_VERSIONS에 사용하기 위한 빈 범위 상수입니다.

이후:

  • 2.0.0

(0...0).동결
DRIVER_WIRE_VERSIONS =

이 버전의 운전자 가 지원하는 유선 프로토콜 버전입니다.

이후:

  • 2.0.0

8..25
DEPRECATED_WIRE_VERSIONS =

이 버전의 드라이버 에서 더 이상 사용되지 않는 유선 프로토콜 버전입니다. 이러한 버전에 대한 지원은 향후 제거될 예정입니다.

현재 사용 중단된 와이어 버전이 여러 개 있는 경우 해당 버전의 범위 로 설정하다 해야 합니다.

현재 사용이 중단된 와이어 버전이 하나뿐인 경우, 최소값과 최대값이 동일한 값의 범위 로 설정하다 해야 합니다.

현재 사용 중단된 와이어 버전이 없는 경우 빈 범위 (예: EMPTY_RANGE 상수)로 설정하다 해야 합니다.

이후:

  • 2.0.0

EMPTY_RANGE

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(server_wire_versions, 주소 = nil) ⇒ 기능

기능을 초기화합니다.

예시:

기능을 초기화합니다.

Features.new(0..3)

매개변수:

  • server_wire_versions (범위)

    서버가 유선 버전을 지원했습니다.

다음을 발생시킵니다.

  • (ArgumentError)

이후:

  • 2.0.0



114
115
116
117
118
119
120
121
122
123
124
# 파일 'lib/ Mongo/ 서버/description/features.rb', 줄 114

def 초기화(server_wire_versions, 주소 = nil)
  올리다 ArgumentError, "server_wire_versions's min is nil" 만약 server_wire_versions.min.nil?
  올리다 ArgumentError, "server_wire_versions의 최대값은 nil" 만약 server_wire_versions.최대.nil?

  @server_wire_versions = server_wire_versions
  @address = 주소

  반환 하지 않는 한 mongo::Lint.활성화?

  동결
end

인스턴스 속성 세부 정보

#server_wire_versions범위 (읽기 전용)

반환값 server_wire_versions 서버에서 지원되는 와이어 버전입니다.

반환합니다:

  • (범위)

    server_wire_versions 서버에서 지원되는 와이어 버전입니다.

이후:

  • 2.0.0



103
104
105
# 파일 'lib/ Mongo/ 서버/description/features.rb', 줄 103

def server_wire_versions
  @server_wire_versions
end

인스턴스 메서드 세부 정보

#check_driver_support!객체

드라이버 지원 유선 버전 범위 와 서버 유선 버전 범위 겹치는지 확인합니다. 또한 서버 더 이상 사용되지 않는 유선 버전을 사용하고 있는지 확인합니다.

다음을 발생시킵니다.

이후:

  • 2.0.0



132
133
134
135
136
137
138
139
140
141
142
143
144
145
# 파일 'lib/ Mongo/ 서버/description/features.rb', 줄 132

def check_driver_support!
  만약 DEPRECATED_WIRE_VERSIONS.포함?(@server_wire_versions.최대)
    기능 = "wire_version:#{@ 주소}"
    mongo::지원 중단.경고(기능, 형식(SERVER_DEPRECATED, @address, @server_wire_versions.최대))

  elsif DRIVER_WIR_VERSIONS.min > @server_wire_versions.최대
    올리다 오류::지원되지 않는 기능.신규(형식(SERVER_TOO_OLD, @address, @server_wire_versions.최대,
                                                DRIVER_WIR_VERSIONS.min))

  elsif DRIVER_WIR_VERSIONS.최대 < @server_wire_versions.min
    올리다 오류::지원되지 않는 기능.신규(형식(DRIVER_TOO_OLD, @address, @server_wire_versions.min,
                                                DRIVER_WIR_VERSIONS.최대))
  end
end