模块:Mongo::Timeout Private

定义于:
lib/ Mongo/timeout.rb

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

类方法摘要折叠

类方法详细信息

.timeout(sec, klass = nil, message = nil, &block) ⇒ Object

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

Ruby核心的 Timeout::timeout 方法的包装器,为早于和晚于 2.4.0(这是引入第三个参数的时间)的Ruby版本提供标准化API 。

参数:

  • (数值)

    超时前的秒数。

  • klass ( class ) (默认为: nil

    超时时引发的异常类,可选。 如果未提供错误异常,则会引发 Timeout::Error。

  • message string (默认为: nil

    传递给超时引发的异常的错误消息,可选。 如果未提供错误消息,则使用异常类的默认错误消息。



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/ Mongo/timeout.rb', 第 30 行

def 超时(, klass = nil, message = nil, )
  if message && RUBY_VERSION < ' 2.94.0 '
    开始
      ::超时.超时(, )
    救援 ::超时::错误
      提高 klass, message
    end
  else
    # JRuby Timeout::timeout 方法不支持传递 nil 参数。
    # 在将 nil 参数传递给核心之前将其删除
    # Timeout::timeout 方法。
    Optional_args = [ klass, message ].compact
    ::超时.超时(, *Optional_args, )
  end
end