类:Mongo::Srv::Result Private

继承:
对象
  • 对象
显示全部
包括:
Address::Validator
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/srv/result.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

SRV记录查找结果。

包含查询解析到的服务器地址以及 DNS 记录的最小 TTL。

常量摘要折叠

MISMATCHED_DOMAINNAME =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

返回 MISMATCHED_DOMAINNAME 错误消息格式string ,指示找到的 SRV 记录与主机名的域不匹配。

返回:

  • ( string )

    MISMATCHED_DOMAINNAME 错误消息格式string ,指示找到的 SRV记录与主机名的域不匹配。

 SRV 记录结果 (%s) 中的父域名不匹配 +
" that's of the hostname (%s) ".冻结

实例属性摘要折叠

实例方法摘要折叠

Address::Validator中包含的方法

#validate_address_str!

构造函数详情

#initialize (hostname) ⇒结果

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

创建一个新对象以追踪主机名的 SRV 记录。

参数:

  • 主机名 ( string )

    指向 DNS 记录的主机名。



49
50
51
52
53
# File ' 构建/ruby-driver-v2.19/lib/ mongo /srv/result.rb', line 49

def 初始化(主机名)
  @query_hostname = 主机名
  @address_strs = []
  @min_ttl = nil
end

实例属性详细信息

#address_strsArray<String> (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回address_strs查询主机名的 SRV 记录的托管字符串。

返回:

  • ( Array<String> )

    address_strs 查询主机名的 SRV 记录的主机字符串。



40
41
42
# File ' 构建/ruby-driver-v2.19/lib/ mongo /srv/result.rb', line 40

def Address_strs
  @address_strs
end

#min_ttlInteger | nil

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回 min_ttl 在记录中找到的最小TTL (如果没有添加记录,则返回 nil)。

返回:

  • ( Integer | nil )

    min_ttl 在记录中找到的最小TTL (如果没有添加记录,则为 nil)。



44
45
46
# File ' 构建/ruby-driver-v2.19/lib/ mongo /srv/result.rb', line 44

def min_ttl
  @min_ttl
end

# query_hostnamestring (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回 query_hostname 指向 DNS 记录的主机名。

返回:

  • ( string )

    query_hostname 指向 DNS 记录的主机名。



36
37
38
# File ' 构建/ruby-driver-v2.19/lib/ mongo /srv/result.rb', line 36

def query_hostname
  @query_hostname
end

实例方法详细信息

# add_record (record) ⇒对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

添加一条新记录。

参数:

  • 记录 ( Resolv::DNS::Resource )

    找到该主机名的 SRV记录。



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File ' 构建/ruby-driver-v2.19/lib/ mongo /srv/result.rb', line 65

def add_record(记录)
  record_host = normalize_hostname(记录.目标.to_s)
  端口 = 记录.端口
  validate_hostname!(record_host)
  validate_same_origin!(record_host)
  Address_str = if record_host.索引(index)(' : ')
    # IPV 6解决
    " [ #{ record_host } ]: #{ port } "
  else
    " #{ record_host } : #{ port } "
  end
  @address_strs << Address_str

  if @min_ttl.nil?
    @min_ttl = 记录.TTL
  else
    @min_ttl = [@min_ttl, 记录.TTL].min
  end

  nil
end

#为空?布尔

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

检查是否有记录。

返回:

  • ( Boolean )

    是否有记录。



58
59
60
# File ' 构建/ruby-driver-v2.19/lib/ mongo /srv/result.rb', line 58

def 空?
  @address_strs.空?
end