Module: Mongo::Protocol::Serializers::Sections Private
- 定义于:
- lib/ Mongo/ 协议/serializers.rb
Overview
该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。
针对 OP_MSG 部分的MongoDB传输协议序列化策略。
对节列表进行序列化和反序列化。
在命名空间下定义
模块: PayloadOne , PayloadZero
类方法摘要折叠
-
。 deserialize (buffer, options = {}) ⇒ Array<BSON::Document>
private
从 IO流中反序列化 OP_MSG 的一部分。
-
。序列化(缓冲区,值,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 的一部分。
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 |
# File 'lib/ Mongo/ 协议/serializers.rb', line 208 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 |
。序列化(缓冲区,值,max_bson_size = nil,_validating_keys = nil)→ BSON::ByteBuffer
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
对 OP_MSG、有效负载类型0或1的各部分进行序列化。
181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'lib/ Mongo/ 协议/serializers.rb', line 181 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 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
序列化后是否对此类型有大小限制。
229 230 231 |
# File 'lib/ Mongo/ 协议/serializers.rb', line 229 def self.size_limited? true end |