Class: Mongo::Protocol::Serializers::BitVector Private
- Hereda:
-
Objeto
- Objeto
- Mongo::Protocol::Serializers::BitVector
- Definido en:
- lib/mongo/protocolo/bit_vector.rb
Overview
Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.
Clase utilizada para definir un vector de bits para un mensaje del protocolo de conexión de MongoDB.
Define la estrategia de serialización al iniciar.
Resumen del método de instancia colapsar
-
#deserializar(buffer, options = {}) ⇒ arreglo<Symbol>
privado
Deserializa el vector decodificando el símbolo según su máscara.
-
#initialize(layout) ⇒ BitVector
constructor
privado
Inicializa un BitVector con un diseño.
-
#serialize(buffer, value, validating_keys = nil) ⇒ String
privado
Serializa el vector codificando cada símbolo según su máscara.
Detalles del constructor
#inicializar(diseño) ⇒ BitVector
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa un BitVector con un diseño
31 32 33 34 35 36 |
# Archivo 'lib/mongo/protocol/bit_vector.rb', línea 31 def inicializar(disposición) @masks = {} disposición.cada_con_índice hacer |Campo, index| @masks[Campo] = 2**index si Campo end end |
Detalles del método de instancia
#deserializar(buffer, opciones = {}) ⇒ Array<Símbolo>
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Deserializa el vector decodificando el símbolo según su máscara
58 59 60 61 62 63 64 65 |
# Archivo 'lib/mongo/protocol/bit_vector.rb', línea 58 def deserializar(buffer, = {}) vector = buffer.get_int32 flags = [] @masks.cada hacer |flag, mask| flags << flag si mask Y vector != 0 end flags end |
#serializar(buffer, valor, claves_de_validación = nulo) ⇒ Cadena
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Serializa el vector codificando cada símbolo según su máscara
46 47 48 49 50 |
# Archivo 'lib/mongo/protocol/bit_vector.rb', línea 46 def serializar(buffer, Valor, validating_keys = nulo) los bits = 0 Valor.cada { |flag| los bits |= (@masks[flag] || 0) } buffer.put_int32(los bits) end |