模块:Mongo::Protocol::Serializers::Sections::PayloadOne Private
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb
Overview
该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。
OP_MSG 的有效负载1类型部分的MongoDB传输协议序列化策略。
常量摘要折叠
- TYPE =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
此有效负载类型的字节标识符。
0 x 1
- TYPE_BYTE =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
与此有效负载类型对应的字节。
类型.chr.force_encoding(BSON::二进制文件).冻结
类方法摘要折叠
-
。 deserialize (buffer) ⇒ Array<BSON::Document>
private
从 IO流中反序列化 OP_MSG 有效负载类型为1的部分。
-
。序列化(buffer, value, max_bson_size = nil, validating_keys = nil) ⇒ BSON::ByteBuffer
private
序列化 OP_MSG 的一部分,有效负载类型为1 。
类方法详细信息
。 deserialize (buffer) ⇒ Array<BSON::Document>
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
从 IO流中反序列化 OP_MSG 有效负载类型为1的部分。
337 338 339 340 341 342 343 344 345 346 347 348 349 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb', 第337行 def self.反序列化(缓冲) 提高 NotImplementedError start_size = 缓冲.长度 section_size = 缓冲.get_int32 # 获取大小 end_size = start_size - section_size 缓冲.get_cstring # 获取标识符 文档 = [] 直到 缓冲.长度 == end_size 文档 << BSON::文档.from_bson(缓冲) end 文档 end |
。序列化(buffer, value, max_bson_size = nil, validating_keys = nil) ⇒ BSON::ByteBuffer
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
序列化 OP_MSG 的一部分,有效负载类型为1 。
319 320 321 322 323 324 325 326 327 328 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb', 第319行 def self.序列化(缓冲, 值, max_bson_size = nil, validating_keys = nil) 缓冲.put_byte(TYPE_BYTE) 开始 = 缓冲.长度 缓冲.put_int32(0) # 保持大小 缓冲.put_cstring(值[:identifier]) 值[:sequence].每 do |文档| 文档.序列化(缓冲, 文档, max_bson_size) end 缓冲.replace_int 32(开始, 缓冲.长度 - 开始) end |