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. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Clase utilizada para definir un vector de bits para un mensaje de protocolo de cable MongoDB.
Define la estrategia de serialización durante la inicialización.
Colapso del resumen del método de instancia
-
#deserializar(buffer, options = {}) ⇒ arreglo<Symbol>
privada
Deserializa el vector decodificando el símbolo según su máscara.
-
#inicializar(diseño) ⇒ BitVector
constructor
privada
Inicializa un BitVector con un diseño.
-
#serializar(buffer, valor, claves_de_validación = nulo) ⇒ Cadena
privada
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 fabricar en serie(buffer, valor, validando_claves = nulo) los bits = 0 valor.cada { |flag| los bits |= (@masks[flag] || 0) } buffer.put_int32(los bits) end |