模块:Mongo::Timeout Private

定义于:
lib/ Mongo/timeout.rb

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

类方法摘要折叠

类方法详细信息

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

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

围绕Ruby核心的 Timeout::timeout 方法的包装器,为调用该方法提供标准化 API。

参数:

  • (数值)

    超时前的秒数。

  • klass ( class ) (默认为: nil

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

  • message string (默认为: nil

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



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/ Mongo/timeout.rb', 第 29 行

def 超时(, klass = nil, message = nil, )
  # 如果消息存在,则提供一个默认错误类;否则,
  # 如果 klass 为 nil,则该消息将被解释为错误类
  klass ||= ::超时::错误 if message

  # JRuby Timeout::timeout 方法不支持传递 nil 参数。
  # 在将 nil 参数传递给核心之前将其删除
  # Timeout::timeout 方法。
  Optional_args = [ klass, message ].compact
  ::超时.超时(, *Optional_args, )
end