Módulo: Mongo::Protocol::Serializers::Sections::PayloadOne Privado
- 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 carga útil 1 tipo Sección de OP_MSG.
Resumen de constantes colapsar
- TIPO =
Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.
El identificador de byte para este tipo de carga útil.
0x1- TYPE_BYTE =
Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.
El byte correspondiente a este tipo de carga útil.
Tipo.chr.force_encoding(BSON::Binario).freeze
Resumen del método de clase colapsar
-
.deserializar(buffer) ⇒ arreglo<BSON::Document>
privado
Deserializa una sección del tipo de carga útil 1 de un OP_MSG del flujo de IO.
-
.serializar(buffer, valor, max_bson_size = nil, _validando_claves = nil) ⇒ BSON::ByteBuffer
privado
Serializa una sección de un OP_MSG, tipo de contenido 1.
Detalles del método de clase
.deserializar(buffer) ⇒ 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 del tipo de carga útil 1 de un OP_MSG del flujo de IO.
324 325 326 327 328 329 330 331 332 333 334 |
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 324 def sí mismo.deserializar(buffer) propagar NotImplementedError tamaño inicial = buffer.longitud section_size = buffer.get_int32 # Obtener el tamaño end_size = tamaño inicial - section_size buffer.obtener_cstring # obtener el identificador Documentos = [] Documentos << BSON::Documento.from_bson(buffer) hasta buffer.longitud == end_size Documentos 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 una sección de un OP_MSG, tipo de contenido 1.
306 307 308 309 310 311 312 313 314 315 |
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 306 def sí mismo.serializar(buffer, Valor, tamaño_máximo_bson = nulo, _validating_keys = nulo) buffer.put_byte(BYTE_TIPO) Inicio = buffer.longitud buffer.put_int32(0) # aguantar para el tamaño buffer.put_cstring(Valor[:identifier]) Valor[secuencia:].cada hacer |Documento| Documento.serializar(buffer, Documento, tamaño_máximo_bson) end buffer.reemplazar_int32(Inicio, buffer.longitud - Inicio) end |