类:Mongo::Server::RoundTripTimeAverager Private
- 继承:
-
对象
- 对象
- Mongo::Server::RoundTripTimeAverager
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/server/round_trip_time_averager.rb
Overview
此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。
实例属性摘要折叠
- # average_round_trip_time ⇒ 对象 只读 private
- # last_round_trip_time ⇒ 对象 只读 private
实例方法摘要折叠
-
#初始化="RoundTripTimeAverager"
构造函数
private
RoundTripTimeAverager 的新实例。
- #measure ⇒ 对象 private
构造函数详情
#初始化=" RoundTripTimeAverager "
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回 RoundTripTimeAverager 的新实例。
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 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
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 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
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 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
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 |