模块:Mongo::Protocol::Registry

扩展方式:
注册表
包含在:
注册表
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/protocol/registry.rb

Overview

提供注册表,用于根据操作码查找消息类。

由于:

  • 2.5.0

常量摘要折叠

MAPPINGS =

A 所有操作码到相应Ruby类的映射。

由于:

  • 2.5.0

{}

实例方法摘要折叠

实例方法详细信息

#get(op_code, message = nil) ⇒ Class

获取给定操作码的类,如果未找到,则引发错误。

例子:

获取操作码的类型。

Mongo::Protocol::Registry.get(1)

返回:

  • ( class )

    消息类型对应的 Ruby 类。

由于:

  • 2.5.0



41
42
43
44
45
46
47
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/registry.rb', 第41行

def 获取(op_code, message = nil)
  if 类型 = mappings[op_code]
    类型
  else
    handle_unsupported_op_code!(op_code)
  end
end

#register (op_code, type) ⇒

为相应的操作码注册Ruby类型。

例子:

注册操作码。

Mongo::Protocol::Registry.register(1, Reply)

参数:

  • op_code (Fixnum)

    操作码。

  • 类型 ( class )

    操作码映射到的类。

返回:

  • ( class )

    班级。

由于:

  • 2.5.0



60
61
62
63
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/registry.rb', 第60行

def 报名(op_code, 类型)
  mappings.存储(op_code, 类型)
  define_type_reader(类型)
end