Module: Mongo::Protocol::Serializers::Sections Private
- Definido en:
- lib/mongo/protocol/serializers.rb
Overview
Este módulo es parte de una API privada. Deberías evitar usar este módulo si es posible, ya que puede ser removido o cambiado en el futuro.
Estrategia de serialización del protocolo de conexión de MongoDB para una sección de OP_MSG.
Serializa y deserializa una lista de Secciones.
Definido bajo Namespace
Modules: PayloadOne, PayloadZero
Resumen del método de clase colapsar
-
.deserializar(buffer, opciones = {}) ⇒ arreglo<BSON::Document>
privado
Deserializa una sección de un OP_MSG del flujo IO.
-
.serializar(buffer, valor, max_bson_size = nil, _validando_claves = nil) ⇒ BSON::ByteBuffer
privado
Serializa las secciones de un OP_MSG, tipo de carga útil 0 o 1.
-
.size_limited? ⇒ true
privado
Si puede haber un límite de tamaño en este tipo después de la serialización.
Detalles del método de clase
.deserialize(buffer, options = {}) ⇒ arreglo<BSON::Document>
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 una sección de un OP_MSG del flujo IO.
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 |
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 208 def sí mismo.deserializar(buffer, = {}) end_length = ((@flag_bits & Msg::FLAGS.index(¿Valor de suma de comprobación presente?)) == 1) ? 32 : 0 Secciones = [] hasta buffer.longitud == end_length caso byte = buffer.obtener_byte cuando PayloadZero::BYTE_TIPO Secciones << PayloadZero.deserializar(buffer, ) cuando PayloadOne::BYTE_TIPO Secciones += PayloadOne.deserializar(buffer, ) else propagar Error::UnknownPayloadType.Nuevo(byte) end end Secciones end |
.serializar(buffer, value, max_bson_size = nil, _validating_keys = nil) ⇒ BSON::ByteBuffer
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 las secciones de un OP_MSG, tipo de carga útil 0 o 1.
181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 181 def sí mismo.serializar(buffer, Valor, tamaño_máximo_bson = nulo, _validating_keys = nulo) Valor.cada hacer |sección| caso sección[Tipo] cuando PayloadZero::Tipo PayloadZero.serializar(buffer, sección[:payload], tamaño_máximo_bson) cuando nulo PayloadZero.serializar(buffer, sección[:payload], tamaño_máximo_bson) cuando PayloadOne::Tipo PayloadOne.serializar(buffer, sección[:payload], tamaño_máximo_bson) else propagar Error::UnknownPayloadType.Nuevo(sección[Tipo]) end end end |
.size_limited? ⇒ true
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.
Si puede haber un límite de tamaño en este tipo después de la serialización.
229 230 231 |
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 229 def sí mismo.¿size_limited? true end |