Módulo: Mongo::Protocol::Serializers::Sections::PayloadOne Private
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb
Visão geral
Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.
Estratégia de serialização do protocolo de conexão do MongoDB para uma seção do tipo carga útil 1 de OP_MSG.
Colapsode resumo constante
- TYPE =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
O identificador de bytes para este tipo de carga útil.
0x1
- TYPE_BYTE =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
O byte correspondente a este tipo de carga útil.
Tipo.chr.force_encoding(BSON::Binário).congelar
Recolhimento do Resumo do método de classe
-
.desserializar(buffer) ➤ Array<BSON::Document>
privado
Deserializa uma seção do tipo de carga útil 1 de um OP_MSG do fluxo IO.
-
.serializar(buffer, valor, max_bson_size = nil, validate_keys = nil) ➤ BSON::ByteBuffer
privado
Serializa uma seção de um OP_MSG, tipo de carga útil 1.
Detalhes do método de classe
.desserializar(buffer) ➤ Array<BSON::Document>
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Deserializa uma seção do tipo de carga útil 1 de um OP_MSG do fluxo IO.
337 338 339 340 341 342 343 344 345 346 347 348 349 |
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 337 def auto.desserializar(buffer) aumentar NotImplementedError start_size = buffer.Tamanho section_size = buffer.get_int32 # obter o tamanho end_size = start_size - section_size buffer.get_cstring # obter o identificador documentos = [] até que buffer.Tamanho == end_size documentos << BSON::Documento.from_bson(buffer) end documentos end |
.serializar(buffer, valor, max_bson_size = nil, validate_keys = nil) ➤ BSON::ByteBuffer
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Serializa uma seção de um OP_MSG, tipo de carga útil 1.
319 320 321 322 323 324 325 326 327 328 |
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 319 def auto.serializar(buffer, valor, max_bson_size = nada, validate_keys = nada) buffer.put_byte(TYPE_BYTE) iniciar = buffer.Tamanho buffer.put_int32(0) # espera pelo tamanho buffer.put_cstring(valor[:identifier]) valor[:sequence].cada fazer |documento| Documento.serializar(buffer, documento, max_bson_size) end buffer.replace_int32(iniciar, buffer.Tamanho - iniciar) end |