Módulo: Mongo::Protocol::Serializers::Sections::PayloadOne Privado
- Definido en:
- lib/mongo/protocol/serializers.rb
Overview
Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Estrategia de serialización del protocolo de cable MongoDB para una sección de carga útil tipo 1 de OP_MSG.
Colapso delresumen constante
- TIPO =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
El identificador de byte para este tipo de carga útil.
0 x 1- TIPO_BYTE =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
El byte correspondiente a este tipo de carga útil.
Tipo.chr.codificación forzada(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, tamaño_máximo_bson = nulo, claves_de_validación = nulo) ⇒ 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 forma parte de una API privada. Debe evitarlo 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.
337 338 339 340 341 342 343 344 345 346 347 348 349 |
# Archivo 'lib/mongo/protocol/serializers.rb', línea 337 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 = [] hasta buffer.longitud == end_size Documentos << BSON::Documento.from_bson(buffer) end Documentos end |
.serializar(buffer, value, max_bson_size = nil, validating_keys = nil) ⇒ BSON::ByteBuffer
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 una sección de un OP_MSG, tipo de contenido 1.
319 320 321 322 323 324 325 326 327 328 |
# Archivo 'lib/mongo/protocol/serializers.rb', línea 319 def sí mismo.serializar(buffer, Valor, tamaño máximo de bson = nulo, validating_keys = nulo) buffer.put_byte(TIPO_BYTE) Inicio = buffer.longitud buffer.put_int32(0) # aguantar para el tamaño buffer.poner_cstring(Valor[:identifier]) Valor[secuencia:].cada hacer |Documento| Documento.serializar(buffer, Documento, tamaño máximo de bson) end buffer.reemplazar_int32(Inicio, buffer.longitud - Inicio) end |