模块:Mongo::Operation::Timed Private
- 包含在:
- OpMsgBase
- 定义于:
- lib/ Mongo/operation/shared/timed.rb
Overview
该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。
定义具有客户端操作超时 (CSOT) 规范所描述的默认超时行为的操作的行为。
实例方法摘要折叠
-
# apply_relevant_timeups_to (spec, connection) ⇒ 哈希
private
如果超时处于活动状态(由当前上下文定义)且尚未过期,请将 :maxTimeMS 添加到规范中。
-
# with_max_time (connection) ⇒ 哈希
private
一种辅助方法,用于计算剩余超时时间(以秒为单位)并将其生成关联的区块。
实例方法详细信息
# apply_relevant_timeups_to (spec, connection) ⇒ 哈希
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
如果超时处于活动状态(由当前上下文定义)且尚未过期,请将 :maxTimeMS 添加到规范中。
22 23 24 25 26 27 28 29 |
# File 'lib/ Mongo/operation/shared/timed.rb', line 22 def apply_relevant_timeups_to(spec, 连接) with_max_time(连接) do |max_time_sec| return spec if max_time_sec.nil? return spec if 连接.描述.mongocryptd? spec.点击 { spec[:maxTimeMS] = (max_time_sec * 1 _ 000).to_i } end end |
# with_max_time (connection) ⇒ 哈希
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
一种辅助方法,用于计算剩余超时时间(以秒为单位)并将其生成关联的区块。 如果不存在超时,则返回 nil。 如果超时,则引发 Mongo::Error::TimeoutError。
40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ Mongo/operation/shared/timed.rb', line 40 def with_max_time(连接) if 上下文&。超时? max_time_sec = 上下文.剩余超时秒数 - 连接.server.minimum_round_trip_time 提高 mongo::错误::超时错误 if max_time_sec <= 0 产量 max_time_sec else 产量 nil end end |