Módulo: Mongo::Protocol::Serializers::Document 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 de protocolo de conexão do MongoDB para um documento BSON.
Serializa e deserializa um único documento.
Recolhimento do Resumo do método de classe
-
.desserializar(buffer, opções = {}) ➤ Hash
privado
Deserializa um documento do fluxo de IO.
-
.serializar(buffer, valor, max_bson_size = nil, validate_keys = nil) ➤ string
privado
Serializa um documento no buffer.
-
.size_limited? ➤ verdadeiro
privado
Se pode haver um limite de tamanho para esse tipo após a serialização.
Detalhes do método de classe
.desserializar(buffer, opções = {}) ➤ Hash
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 um documento do fluxo de IO
384 385 386 387 |
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 384 def auto.desserializar(buffer, = {}) Modo = [:deserialize_as_bson] ? :bson : nada BSON::Documento.from_bson(buffer, **{ modo: Modo }) end |
.serializar(buffer, valor, max_bson_size = nil, validate_keys = nil) ➤ string
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 um documento no buffer
364 365 366 367 368 369 370 371 372 |
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 364 def auto.serializar(buffer, valor, max_bson_size = nada, validate_keys = nada) start_size = buffer.Tamanho valor.to_bson(buffer) serialized_size = buffer.Tamanho - start_size se max_bson_size && serialized_size > max_bson_size aumentar Erro::MaxBSONSize, "O documento excede o tamanho máximo permitido do objeto BSON após a serialização. Tamanho serializado: #{serialized_size} bytes, maximum allow size: #{max_bson_size} bytes" end end |
.size_limited? ➤ verdadeiro
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.
Se pode haver um limite de tamanho para esse tipo após a serialização.
394 395 396 |
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 394 def auto.size_limited? true end |