Module: Mongo::Protocol::Serializers::Header 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 fio do MongoDB para cabeçalhos de mensagens.

Serializa e deserializa quatro 32inteiros de bits que consistem no comprimento da mensagem, o ID da solicitação, o ID da resposta e o código operacional para a operação.

Recolhimento do Resumo do método de classe

Detalhes do método de classe

.desserializar(buffer, opções = {}) ➤ Array<Fixnum>

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 o valor do cabeçalho do fluxo IO

Parâmetros:

  • buffer (string)

    Buffer contendo o cabeçalho da mensagem.

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

    Atualmente, este método não aceita opções.

Retorna:

  • (Array<Fixnum>)

    Array que consiste no comprimento desserializado, ID da solicitação, ID da resposta e código operacional.



69
70
71
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 69

def auto.desserializar(buffer, opções = {})
  buffer.get_bytes(16).descompactar(HEADER_PACK)
end

.serializar(buffer, valor, 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 o valor do cabeçalho no buffer

Parâmetros:

  • buffer (string)

    Buffer para receber o valor serializado.

  • valor (string)

    Valor do cabeçalho a ser serializado.

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

    Se as chaves devem ser validadas ao serializar. Esta opção é preterida e não será utilizada. Ele será removido na versão 3.0.

Retorna:

  • (string)

    Buffer com valor serializado.



58
59
60
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 58

def auto.serializar(buffer, valor, validate_keys = nada)
  buffer.put_bytes(valor.embalar(HEADER_PACK))
end