类:Mongo::Server::ConnectionCommon
- 继承:
-
对象
- 对象
- Mongo::Server::ConnectionCommon
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/server/connection_common.rb
Overview
注意:
尽管该模块的方法是公共 API 的一部分,但这些方法是在此模块上定义的,而不是在包含该模块的类上定义的,因此,公共 API 不属于该模块的一部分。
监控和非监控连接使用的常用方法。
直接已知子类
实例属性摘要折叠
-
#压缩器⇒ string | nil
只读
压缩程序在握手期间为此连接进行了协商(如果有)。
-
# PID ⇒ 整数
只读
private
PID创建连接时的进程ID 。
实例方法摘要折叠
- #已连接? ⇒ true, false 已弃用 已弃用。
-
#handshake_command(handshake_document) ⇒ Protocol::Message
private
构建用于连接握手的命令。
-
#handshake_document (app_metadata, speculative_auth_doc: nil, load_balancer: false, server_api: nil) ⇒ BSON::Document
private
构建用于连接握手的文档。
实例属性详细信息
#压缩器⇒ string | nil (只读)
压缩程序在握手期间为此连接进行了协商(如果有)。
对于尚未完成握手的连接以及协商不压缩的连接,此属性为零。
37 38 39 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/connection_common.rb', 第37行 def 压缩器 @compressor end |
# PID ⇒整数(只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回PID连接创建时的进程ID 。
53 54 55 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/connection_common.rb', 第53行 def 进程 ID (PID) @pid end |
实例方法详细信息
#已连接? ⇒ true , false
已弃用。
确定连接当前是否已连接。
47 48 49 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/connection_common.rb', 第47行 def 已连接? !!套接字 end |
#handshake_command(handshake_document) ⇒ Protocol::Message
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
构建用于连接握手的命令。
94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/connection_common.rb', 第94行 def handshake_command(握手文档) if 握手文档['apiVersion'] || 握手文档[' loadBalanced '] protocol::消息.new( [], {}, 握手文档.合并(merge)({' $db ' => Database::ADMIN}) ) else protocol::查询.new( Database::ADMIN, Database::命令, 握手文档, :limit => -1 ) end end |
#handshake_document (app_metadata, speculative_auth_doc: nil, load_balancer: false, server_api: nil) ⇒ BSON::Document
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
构建用于连接握手的文档。
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/connection_common.rb', 第68行 def 握手文档(, speculative_auth_doc: nil, load_balancer: false, server_api: nil) serv_api = .server_api || server_api 文档 = if serv_api HELLO_DOC.合并(merge)(Utils.transform_server_api(serv_api)) else LEGACY_HELLO_DOC end 文档.合并(merge)(.valid_document).点击 do |doc| if speculative_auth_doc doc.update(speculativeAuthenticate: speculative_auth_doc) end if load_balancer doc.update(loadBalanced: true) end end end |