Class: Mongo::Protocol::Compressed
- Hereda:
-
Mensaje
- Objeto
- Mensaje
- Mongo::Protocol::Compressed
- Definido en:
- lib/mongo/protocol/compressed.rb
Overview
Mensaje comprimido del protocolo de conexión MongoDB.
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 rápido del compresor.
'snappy'.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 al mapa de bytes.
{ rápido => SNAPPY_BYTE, zstd => ZSTD_BYTE, zlib => ZLIB_BYTE }.freeze
Constantes heredadas de Message
Message::BATCH_SIZE, Message::colección, Message::LIMIT, Message::MAX_MESSAGE_SIZE, Message::ORDERED, Message::Q
Resumen del atributo de la instancia
Atributos heredados de Mensaje
Resumen del método de instancia colapsar
-
#initialize(message, compressor, zlib_compression_level = nil) ⇒ Compressed
constructor
Crea un nuevo mensaje OP_COMPRESSED.
-
#maybe_inflate ⇒ Protocol::Message
privado
Infla un mensaje OP_COMPRESSED y devuelve el mensaje original.
-
#¿puede responderse? ⇒ verdadero, falso
Si el mensaje espera una respuesta de la base de datos.
Métodos heredados de Mensaje
#==, 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
#initialize(mensaje, compresor, zlib_compression_level = nil) ⇒ Comprometido
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) @original_message = @original_op_code = .op_code @uncompressed_size = 0 @compressor_id = COMPRESSOR_ID_MAP[compresor] @compressed_message = '' @zlib_compression_level = zlib_compression_level si zlib_compression_level && zlib_compression_level != -1 @request_id = .id de solicitud end |
Detalles del método de instancia
#maybe_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(@original_op_code).asignar buf = descomprimir(@compressed_message) .enviar(campo).cada hacer |Campo| si Campo[:multi] Mensaje.deserializar_array(, buf, Campo) else Mensaje.deserializar_campo(, buf, Campo) end end si .is_a?(Msg) .corrección después de la deserialización end end |
#¿se puede responder? ⇒ 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? @original_message.¿respondible? end |