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(bofer, _opciones = {}) ⇒ 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 es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa un BitVector con una disposición
29 30 31 32 33 34 |
# Archivo 'lib/mongo/protocol/bit_vector.rb', línea 29 def inicializar(diseño) @masks = {} diseño.each_with_index hacer |Campo, index| @masks[Campo] = 2**index si Campo end end |
Detalles del método de instancia
#deserializar(buffer, _options = {}) ⇒ arreglo<Símbolo>
Este método es parte de una API privada. Se debe evitar el uso de este método 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
56 57 58 59 60 61 62 63 |
# Archivo 'lib/mongo/protocol/bit_vector.rb', línea 56 def deserializar(buffer, = {}) vector = buffer.get_int32 flags = [] @masks.cada hacer |flag, mask| flags << flag si mask & vector != 0 end flags end |
#serializar(buffer, value, _validating_keys = nil) ⇒ String
Este método es parte de una API privada. Se debe evitar el uso de este método 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
44 45 46 47 48 |
# Archivo 'lib/mongo/protocol/bit_vector.rb', línea 44 def serializar(buffer, Valor, _validating_keys = nulo) bits = 0 Valor.cada { |flag| bits |= @masks[flag] || 0 } buffer.put_int32(bits) end |