Módulo: Mongo::Protocol::Serializers::Sections::PayloadZero 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 0 de OP_MSG.

Desde:

  • 2.5.0

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.

Desde:

  • 2.5.0

0x0
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.

Desde:

  • 2.5.0

Tipo.chr.force_encoding(BSON::Binário).congelar

Recolhimento do Resumo do método de classe

Detalhes do método de classe

.desserializar(buffer, opções = {}) ➤ 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 0 de um OP_MSG do fluxo IO.

Parâmetros:

  • buffer (BSON::ByteBuffer)

    Buffer contendo as seções.

  • opções (Hash) (padrão para: {})

Hash de opções (opções):

  • :deserialize_as_bson (Booleano)

    Se deve executar a desserialização de seção usando BSON types em vez de tipos Ruby nativos, sempre que possível.

Retorna:

  • (Array<BSON::Document>)

    Seção desserializada.

Desde:

  • 2.5.0



287
288
289
290
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 287

def auto.desserializar(buffer, opções = {})
  Modo = opções[:deserialize_as_bson] ? :bson : nada
  BSON::Documento.from_bson(buffer, **{ modo: Modo })
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 0.

Parâmetros:

  • buffer (BSON::ByteBuffer)

    Buffer para receber as seções serializadas.

  • valor (BSON::Document, Hash)

    O objeto a ser serializado.

  • max_bson_size (Fixnum) (padrão para: nil)

    O tamanho máximo de BSON dos documentos na seção.

  • validate_keys (verdadeiro, falso) (padrão para: nil)

    Se deve validar as chaves do documento . Esta opção é preterida e não será utilizada. Ele será removido na versão 3.0.

Retorna:

  • (BSON::ByteBuffer)

    Buffer com valor serializado.

Desde:

  • 2.5.0



270
271
272
273
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 270

def auto.serializar(buffer, valor, max_bson_size = nada, validate_keys = nada)
  buffer.put_byte(TYPE_BYTE)
  Serializadores::Documento.serializar(buffer, valor, max_bson_size)
end