类:Mongo::Server::RoundTripTimeAverager Private

继承:
对象
  • 对象
显示全部
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/server/round_trip_time_averager.rb

Overview

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

由于:

  • 2.0.0

实例属性摘要折叠

实例方法摘要折叠

构造函数详情

#初始化=" RoundTripTimeAverager "

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

返回 RoundTripTimeAverager 的新实例。

由于:

  • 2.0.0



28
29
30
31
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/round_trip_time_averager.rb', 第28行

def 初始化
  @last_round_trip_time = nil
  @average_round_trip_time = nil
end

实例属性详细信息

# average_round_trip_time对象(只读)

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

由于:

  • 2.0.0



34
35
36
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/round_trip_time_averager.rb', 第34行

def average_round_trip_time
  @average_round_trip_time
end

# last_round_trip_time对象(只读)

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

由于:

  • 2.0.0



33
34
35
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/round_trip_time_averager.rb', 第33行

def last_round_trip_time
  @last_round_trip_time
end

实例方法详细信息

#measure对象

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

由于:

  • 2.0.0



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/round_trip_time_averager.rb', 第36行

def 测量
  开始 = Utils.monotic_time
  开始
    rv = 产量
  救援 错误::SocketError, 错误::SocketTimeoutError
    # 如果遇到网络错误,则不会执行往返
    # 完成,因此 RTT 对它来说没有意义。
    提高
  救援 错误, 错误::AuthError => 排除
    # 对于其他错误,RTT 有效。
  end
  last_round_trip_time = Utils.monotic_time - 开始

  # 如果 hello 失败,我们需要返回最后一次往返时间
  # 因为它用于心跳失败的 SDAM事件,
  # 但是我们不能更新 server 中记录的往返时间。
  除非 排除
    @last_round_trip_time = last_round_trip_time
    update_average_round_trip_time
  end

  if 排除
    提高 排除
  else
    rv
  end
end