Class: Mongo::Protocol::Compressed
- Hereda:
-
Mensaje
- Objeto
- Mensaje
- Mongo::Protocol::Compressed
- Definido en:
- lib/mongo/protocolo/comprimido.rb
Overview
Protocolo Wire de MongoDB Mensaje comprimido.
Este es un mensaje bidireccional que comprime otro código de operación. Consulta github.com/mongodb/specifications/blob/master/source/compression/OP_COMPRESSED.md
Colapso delresumen constante
- NOOP =
El identificador del compresor noop.
'noop'.freeze
- NOOP_BYTE =
El byte que indica que el mensaje no ha sido comprimido (modo de prueba).
0.chr.codificación forzada(BSON::BINARIO).freeze
- RÁPIDO =
El identificador del compresor ágil.
'ágil '.freeze
- BYTE SNAPPY =
El byte que indica que el mensaje ha sido comprimido con snappy.
1.chr.codificación forzada(BSON::BINARIO).freeze
- ZLIB_BYTE =
El byte que indica que el mensaje ha sido comprimido con Zlib.
2.chr.codificación forzada(BSON::BINARIO).freeze
- ZLIB =
El identificador del compresor Zlib.
'zlib'.freeze
- ZSTD =
El identificador del compresor zstd.
'zstd'.freeze
- ZSTD_BYTE =
El byte que indica que el mensaje ha sido comprimido con zstd.
3.chr.codificación forzada(BSON::BINARIO).freeze
- COMPRESSOR_ID_MAP =
El identificador del compresor para el mapa de bytes.
{ RÁPIDO => SNAPPY_BYTE, ZSTD => Byte estándar Z, ZLIB => ZLIB_BYTE }.freeze
Constantes heredadas de Message
Mensaje::TAMAÑO_DE_LOTE, Mensaje::COLECCIÓN, Mensaje::LÍMITE, Mensaje::TAMAÑO_MÁXIMO_DE_MENSAJE, Mensaje::ORDENADO, Mensaje::Q
Resumen de atributos de instancia
Atributos heredados de Message
Colapso del resumen del método de instancia
-
#inicializar(mensaje, compresor, zlib_compression_level = nil) ⇒ Comprimido
constructor
Crea un nuevo mensaje OP_COMPRESSED.
-
#maybe_inflate ⇒ Protocol::Message
privada
Infla un mensaje OP_COMPRESSED y devuelve el mensaje original.
-
#¿respondible? ⇒ verdadero, falso
Si el mensaje espera una respuesta de la base de datos.
Métodos heredados de Message
#==, deserialize, deserialize_array, deserialize_field, deserialize_header, campo, fields, #hash, #maybe_add_server_api, #maybe_compress, #maybe_decrypt, #maybe_encrypt, #number_returned, #serialize, #set_request_id
Métodos incluidos de Id
Detalles del constructor
#inicializar(mensaje, compresor, zlib_compression_level = nil) ⇒ Comprimido
Crea un nuevo mensaje OP_COMPRESSED.
79 80 81 82 83 84 85 86 87 |
# Archivo 'lib/mongo/protocol/compressed.rb', línea 79 def inicializar(, compresor, zlib_compression_level = nulo) @mensaje_original = @código_de_operación_original = .op_code @uncompressed_size = 0 @compressor_id = COMPRESSOR_ID_MAP[compresor] @mensaje_comprimido = '' @zlib_nivel_de_compresión = zlib_compression_level Si zlib_compression_level && zlib_compression_level != -1 @request_id = .id de solicitud end |
Detalles del método de instancia
#perhaps_inflate ⇒ Protocolo::Mensaje
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Infla un mensaje OP_COMPRESSED y devuelve el mensaje original.
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# Archivo 'lib/mongo/protocol/compressed.rb', línea 95 def tal vez_inflar = Registro.Obtener(@código_de_operación_original).asignar buf = descomprimir(@mensaje_comprimido) .Enviar(:campos).cada hacer |Campo| Si Campo[:multi] Mensaje.deserializar_matriz(, buf, Campo) else Mensaje.deserializar_campo(, buf, Campo) end end Si .is_a?(Msg) .corrección después de la deserialización end end |
#¿respondible? ⇒ verdadero, falso
Si el mensaje espera una respuesta de la base de datos.
120 121 122 |
# Archivo 'lib/mongo/protocol/compressed.rb', línea 120 def ¿respondible? @mensaje_original.¿respondible? end |