クラス: Mongo::Server:: Description::feature

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
lib/mongo/サーバー/description/features.rb

Overview

特定のサーバーがサポートする機能に関する動作を定義します。

以来

  • 2.0.0

定数の概要の削減

マッピング =

機能とそれが表示されるワイヤプロトコルのバージョンのリスト。

ワイヤプロトコルのバージョンは、サーバーのリリースに次のようにマッピングされます。

  • 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_level 9,
  commit_uorum: 9,
}.freeze
SERVER_TOO_ old =

このバージョンのドライバーではサーバーが古すぎる場合のエラー メッセージ。

以来

  • 2.5.0

%s)のサーバーはワイヤバージョン(%s)を報告しますが、このバージョンのRubyドライバーは +
'には少なくとも(%s)が必要です。'
SERVER_DE推奨 =

サーバーのバージョンが非推奨の場合の警告メッセージ。

以来

  • 2.0.0

(%s)のサーバーはワイヤバージョン(%s)を報告しますが、そのワイヤバージョンのサポート(%s)は非推奨であり、 Rubyドライバーの将来のバージョンでは削除される予定です。 '\ ' MongoDBサーバーを新しいバージョンにすぐにアップグレードしてください。 '
Driver_TOO_ old =

ドライバーがサーバーのバージョンに対して古すぎる場合のエラー メッセージ。

以来

  • 2.5.0

'(%s)のサーバーにはワイヤバージョン(%s)が必要ですが、このバージョンのRubyドライバー ' +
'は(%s)までのみをサポートします。'
Empty_Range =

空の範囲定数。

以来

  • 2.0.0

(0...0).freeze
Driver_WRE_VERSIONS =

このバージョンのドライバーがサポートするワイヤプロトコルのバージョン。

以来

  • 2.0.0

8..25
DEPLICASET =

このバージョンのドライバーでは非推奨のワイヤプロトコルバージョン。これらのバージョンのサポートは将来削除される予定です。

現在非推奨のワイヤバージョンが複数ある場合は、それらのバージョンの範囲に設定する必要があります。

現在非推奨のワイヤバージョンが 1 つしかない場合は、最小値と最大値が同じ値になる範囲に設定する必要があります。

現在非推奨のワイヤバージョンがない場合は、空の範囲( Empty_Range 定数)に設定する必要があります。

以来

  • 2.0.0

Empty_Range

インスタンス属性の概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

コンストラクターの詳細

#初期化(server_wire_versions、アドレス = nil) = 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

デフォルト 初期化(server_wire_versions, address = nil)
  発生 ArgumentError, " server_wire_versions の最小値は nil " 場合 server_wire_versions.min.nil?
  発生 ArgumentError, " server_wire_versions の最大値は nil " 場合 server_wire_versions.最大.nil?

  @server_wire_versions = server_wire_versions
  @address = address

  return ただし、 mongo::Lint.有効か

  freeze
end

インスタンス属性の詳細

# server_wire_versions =範囲(読み取り専用)

server_wire_versions サーバーのサポートされているワイヤバージョンを返します。

次の値を返します。

  • 範囲

    server_wire_versions サーバーのサポートされているワイヤバージョン。

以来

  • 2.0.0



103
104
105
# ファイル 'lib/mongo/ サーバー/description/features.rb' 行 103

デフォルト server_wire_versions
  @server_wire_versions
end

インスタンス メソッドの詳細

# checkpoint_Driver_support =オブジェクト

ドライバーがサポートするワイヤ バージョン範囲とサーバーワイヤ バージョン範囲の間に重複があることを確認します。また、サーバーが非推奨のワイヤバージョンを使用しているかどうかもチェックします。

次の値が発生します。

  • Error::Unsupportedfeature

    ワイヤバージョン範囲がドライバーによってカバーされていない場合。

以来

  • 2.0.0



132
133
134
135
136
137
138
139
140
141
142
143
144
145
# ファイル 'lib/mongo/ サーバー/description/features.rb' 行 132

デフォルト checkpoint_ドライバ_サポート。
  場合 DEPLICASET.include?(@server_wire_versions.最大)
    機能 = "wire_version:#{@address}"
    mongo::非推奨.WARN(機能, 形式(SERVER_DE推奨, @address, @server_wire_versions.最大))

  elsif Driver_WIRE_VERSIONS.min > @server_wire_versions.最大
    発生 エラー::サポートされていない機能.新着情報(形式(SERVER_TOO_ old, @address, @server_wire_versions.最大,
                                                Driver_WIRE_VERSIONS.min))

  elsif Driver_WIRE_VERSIONS.最大 < @server_wire_versions.min
    発生 エラー::サポートされていない機能.新着情報(形式(Driver_TOO_ old, @address, @server_wire_versions.min,
                                                Driver_WIRE_VERSIONS.最大))
  end
end