模块:Mongo::Protocol::Serializers::Sections::PayloadZero Private

定义于:
build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb

Overview

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

OP_MSG 的有效负载0类型部分的MongoDB传输协议序列化策略。

由于:

  • 2.5.0

常量摘要折叠

TYPE =

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

此有效负载类型的字节标识符。

由于:

  • 2.5.0

0 x 0
TYPE_BYTE =

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

与此有效负载类型对应的字节。

由于:

  • 2.5.0

类型.chr.force_encoding(BSON::二进制文件).冻结

类方法摘要折叠

类方法详细信息

deserialize (buffer, options = {}) ⇒ Array<BSON::Document>

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

从 IO流中反序列化 OP_MSG 有效负载类型为0的部分。

参数:

  • 缓冲 ( BSON::ByteBuffer )

    包含这些部分的缓冲区。

  • 选项 哈希 (默认为: {}

选项哈希 ( options ):

  • :deserialize_as_bson 布尔值

    是否尽可能使用BSON types而不是原生Ruby类型来执行节反序列化。

返回:

  • ( Array<BSON::Document> )

    反序列化部分。

由于:

  • 2.5.0



287
288
289
290
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb', 第287行

def self.反序列化(缓冲, 选项 = {})
  模式 = 选项[:deserialize_as_bson] ? :bson : nil
  BSON::文档.from_bson(缓冲, **{ 模式: 模式 })
end

序列化(buffer, value, max_bson_size = nil, validating_keys = nil) ⇒ BSON::ByteBuffer

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

序列化 OP_MSG 的一部分,有效负载类型为0 。

参数:

  • 缓冲 ( BSON::ByteBuffer )

    用于接收序列化部分的缓冲区。

  • ( BSON::Document , Hash )

    要序列化的对象。

  • max_bson_size (Fixnum) (默认为: nil

    该部分中文档的最大BSON大小。

  • validating_keys ( true , false ) (默认为: nil

    是否验证文档密钥。 此选项已弃用,不会使用。 它将在3.0版本中删除。

返回:

  • ( BSON::ByteBuffer )

    具有序列化值的缓冲区。

由于:

  • 2.5.0



270
271
272
273
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb', 第270行

def self.序列化(缓冲, , max_bson_size = nil, validating_keys = nil)
  缓冲.put_byte(TYPE_BYTE)
  序列化器::文档.序列化(缓冲, , max_bson_size)
end