Módulo: Mongo::Protocol::Serializers::Sections::PayloadOne Private
- Definido em:
- 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, _validating_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.
324 325 326 327 328 329 330 331 332 333 334 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 324 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 = [] documentos << BSON::Documento.from_bson(buffer) até que buffer.Tamanho == end_size documentos end |
.serializar(buffer, valor, max_bson_size = nil, _validating_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.
306 307 308 309 310 311 312 313 314 315 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 306 def auto.serializar(buffer, valor, max_bson_size = nada, _validating_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 |