类:Mongo::Server::Description::Features
- 继承:
-
对象
- 对象
- Mongo::Server::Description::Features
- 定义于:
- lib/ Mongo/ 服务器/description/features.rb
Overview
围绕特定服务器支持的功能定义行为。
常量摘要折叠
- MAPPINGS =
功能列表及其所在的传输协议版本。
协议版本映射到服务器版本,如下所示:
- 8 => 4.2
- 9 => 4.4
- 13 => 5.0
- 14 => 5.1
- 17 => 6.0
{ merge_out_on_secondary: 13, get_more_comment: 9, retryable_write_error_label: 9, commit_quorum: 9, }.冻结
- SERVER_TOO_OLD =
如果服务器对于此版本的驱动程序来说太旧,则会出现错误消息。
'服务器 at (%s) reports wire version (%s), but this version of the Ruby 驱动程序 ' + '至少需要 (%s)。'
- SERVER_DEPRECATED =
如果服务器版本已弃用,则会出现警告消息。
'Server at (%s) reports wire version (%s), but support for that wire version ' \ 'is deprecated and will be removed in a future version of the Ruby 驱动程序. ' \ 'Please upgrade your MongoDB server to a newer version soon.'
- DRIVER_TOO_OLD =
如果驱动程序对于服务器版本来说太旧,则会出现错误消息。
'Server at (%s) requires wire version (%s), but this version of the Ruby 驱动程序 '' + '最多仅支持 (%s)。'
- EMPTY_RANGE =
空范围常量,用于 DEPRECATED_WIRE_VERSIONS。
(0...0).冻结
- DRIVER_WIRE_VERSIONS =
此版本的驱动程序支持的传输协议版本。
8..25
- DEPRECATED_WIRE_VERSIONS =
此版本的驱动程序中已弃用的传输协议版本。将来将删除对这些版本的支持。
如果有多个当前已弃用的传输版本,则应将其设立为这些版本的范围。
如果当前只有一个已弃用的传输版本,则应将其设立为最小值和最大值相同的范围。
如果当前没有已弃用的连接版本,则应将其设立为空范围(例如 EMPTY_RANGE 常量)。
EMPTY_RANGE
实例属性摘要折叠
-
# server_wire_versions ⇒ 范围
只读
Server_wire_versions 服务器支持的传输版本。
实例方法摘要折叠
-
# check_driver_support! ⇒ 对象
检查驱动程序支持的传输版本范围和服务器传输版本范围之间是否存在重叠。
-
#initialize (server_wire_versions, 解决 = nil) ⇒ 功能
构造函数
初始化功能。
构造函数详情
#initialize (server_wire_versions,address = nil) ⇒功能
初始化功能。
114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/ Mongo/ 服务器/description/features.rb', line 114 def 初始化(server_wire_versions, 地址 = nil) 提高 ArgumentError, " server_wire_versions's min is nil " if server_wire_versions.min.nil? 提高 ArgumentError, " server_wire_versions's max is nil " if server_wire_versions.Max.nil? @server_wire_versions = server_wire_versions @address = 地址 return 除非 mongo::Lint.已启用? 冻结 end |
实例属性详细信息
# server_wire_versions ⇒范围(只读)
返回 server_wire_versions 服务器支持的传输版本。
103 104 105 |
# File 'lib/ Mongo/ 服务器/description/features.rb', line 103 def server_wire_versions @server_wire_versions end |
实例方法详细信息
# check_driver_support! ⇒对象
检查驱动程序支持的传输版本范围和服务器传输版本范围之间是否存在重叠。还要检查服务器是否使用已弃用的传输版本。
132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/ Mongo/ 服务器/description/features.rb', line 132 def check_driver_support! if DEPRECATED_WIRE_VERSIONS.包括?(@server_wire_versions.Max) 功能 = "wire_version: #{解决 } " mongo::弃用.WARN(功能, format(SERVER_DEPRECATED, @address, @server_wire_versions.Max)) elsif DRIVER_WIRE_VERSIONS.min > @server_wire_versions.Max 提高 错误::不支持的功能.new(format(SERVER_TOO_OLD, @address, @server_wire_versions.Max, DRIVER_WIRE_VERSIONS.min)) elsif DRIVER_WIRE_VERSIONS.Max < @server_wire_versions.min 提高 错误::不支持的功能.new(format(DRIVER_TOO_OLD, @address, @server_wire_versions.min, DRIVER_WIRE_VERSIONS.Max)) end end |