Módulo: Mongo::Protocol::Serializers::Int64 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 64inteiros de bits.

Serializa e deserializa um inteiro 64-bit.

Recolhimento do Resumo do método de classe

Detalhes do método de classe

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

Parâmetros:

  • buffer (string)

    Buffer contendo o número inteiro de 64bits.

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

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

Retorna:

  • (Fixnum)

    Int64 desserializado .



169
170
171
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 169

def auto.desserializar(buffer, opções = {})
  buffer.get_int64
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 um número para um número inteiro de 64bits

Parâmetros:

  • buffer (string)

    Buffer para receber o Int64 serializado.

  • valor (Inteiro | BSON::Int64)

    64-bit inteiro a ser serializado.

Retorna:

  • (string)

    Buffer com valor serializado.



151
152
153
154
155
156
157
158
159
160
161
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', linha 151

def auto.serializar(buffer, valor, validate_keys = nada)
  se valor.is_a?(BSON::Int64)
    se valor.respond_to?(:value)
      # bson-ruby >= 4.6.0
      valor = valor.valor
    mais
      valor = valor.instance_variable_get('@integer')
    end
  end
  buffer.put_int64(valor)
end