Module: Mongo::Protocol::Serializers::Sections Private
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb
Overview
该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。
针对 OP_MSG 部分的MongoDB传输协议序列化策略。
对节列表进行序列化和反序列化。
在命名空间下定义
模块: PayloadOne , PayloadZero
类方法摘要折叠
-
。 deserialize (buffer, options = {}) ⇒ Array<BSON::Document>
private
从 IO流中反序列化 OP_MSG 的一部分。
-
。序列化(buffer, value, max_bson_size = nil, validating_keys = nil) ⇒ BSON::ByteBuffer
private
对 OP_MSG、有效负载类型0或1的各部分进行序列化。
-
。 size_limited? ⇒ true
private
序列化后是否对此类型有大小限制。
类方法详细信息
。 deserialize (buffer, options = {}) ⇒ Array<BSON::Document>
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
从 IO流中反序列化 OP_MSG 的一部分。
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb', 第219行 def self.反序列化(缓冲, = {}) end_length = (@flag_bits 和 消息::标记.索引(index)(:checksum_present)) == 1 ? 32 : 0 部分 = [] 直到 缓冲.长度 == end_length 案例 byte = 缓冲.get_byte when PayloadZero::TYPE_BYTE 部分 << PayloadZero.反序列化(缓冲, ) when PayloadOne::TYPE_BYTE 部分 += PayloadOne.反序列化(缓冲, ) else 提高 错误::UnknownPayloadType.new(byte) end end 部分 end |
。序列化(buffer, value, max_bson_size = nil, validating_keys = nil) ⇒ BSON::ByteBuffer
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
对 OP_MSG、有效负载类型0或1的各部分进行序列化。
192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb', 第192行 def self.序列化(缓冲, 值, max_bson_size = nil, validating_keys = nil) 值.每 do |部分| 案例 部分[:type] when PayloadZero::类型 PayloadZero.序列化(缓冲, 部分[:payload], max_bson_size) when nil PayloadZero.序列化(缓冲, 部分[:payload], max_bson_size) when PayloadOne::类型 PayloadOne.序列化(缓冲, 部分[:payload], max_bson_size) else 提高 错误::UnknownPayloadType.new(部分[:type]) end end end |
。 size_limited? ⇒ true
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
序列化后是否对此类型有大小限制。
240 241 242 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb', 第240行 def self.size_limited? true end |