Class: Mongo::Protocol::Compressed
- Herda:
-
mensagem
- Objeto
- mensagem
- Mongo::Protocol::Compressed
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/protocol/compressed.rb
Visão geral
Protocolo de fio do MongoDB Mensagem comprimida.
Esta é uma mensagem bidirecional que comprime outro código de operação. Consulte github.com/mongodb/specifications/blob/master/source/compression/OP_COMPRESSED.rst
Colapsode resumo constante
- noop =
O identificador do compressor noop.
'noop'.congelar
- NOOP_BYTE =
O byte sinalizando que a mensagem não foi compactada (modo de teste).
0.chr.force_encoding(BSON::Binário).congelar
- SNAPPY =
O identificador snappy do compressor.
'snappy'.congelar
- SNAPPY_BYTE =
O byte sinalizando que a mensagem foi compactada com snappy.
1.chr.force_encoding(BSON::Binário).congelar
- ZLIB_BYTE =
O byte sinalizando que a mensagem foi compactada com zlib.
2.chr.force_encoding(BSON::Binário).congelar
- zlib =
O identificador do compressor zlib .
'zlib'.congelar
- zstd =
O identificador do compressor zstd.
'zstd'.congelar
- ZSTD_BYTE =
O byte sinalizando que a mensagem foi compactada com zstd.
3.chr.force_encoding(BSON::Binário).congelar
- COMPRESSOR_ID_MAP =
O identificador do compressor para o mapa de bytes.
{ Snappy => SNAPPY_BYTE, zstd => ZSTD_BYTE, zlib => ZLIB_BYTE }.congelar
Constantes herdadas de Mensagem
Mensagem::BATCH_SIZE, Mensagem::COLLECTION, Mensagem::LIMIT, Mensagem::MAX_MSSAGE_SIZE, Mensagem::ORDERED , Mensagem::Q
Resumo do atributo de instância
Atributos herdados de Mensagem
Recolhimento do Resumo do método de instância
-
#initialize(message, compressor, zlib_compression_level = nil) ➤ Compressed
construtor
Cria uma nova mensagem OP_COMPRESSED.
-
#maybe_inflate ⇒ Protocol::Message
privado
Incha uma mensagem OP_COMRESSED e retorna a mensagem original.
-
#respondível? ➤ verdadeiro, falso
Se a mensagem espera uma resposta do banco de banco de dados.
Métodos herdados de Mensagem
Métodos incluídos do ID
Detalhes do construtor
#initialize(message, compressor, zlib_compression_level = nil) ➤ Compressed
Cria uma nova mensagem OP_COMPRESSED.
79 80 81 82 83 84 85 86 87 |
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/compressed.rb', linha 79 def inicializar(, compressor, compressor, zlib_compression_level = nada) @ original_message = @ original_op_code = .op_code @uncompressed_size = 0 @compressor_id = COMPRESSOR_ID_MAP[compressor, compressor] @compressed_message = '' @zlib_compression_level = zlib_compression_level se zlib_compression_level && zlib_compression_level != -1 @request_id = .request_id end |
Detalhes do método de instância
#may_inflate ➤ Protocol::Message
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Incha uma mensagem OP_COMRESSED e retorna a mensagem original.
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/compressed.rb', linha 95 def talvez_inflate = Registro.obter(@ original_op_code).alocar buffer = descompactar(@compressed_message) .enviar(:fields).cada fazer |Campo| se Campo[:multi] mensagem.deserialize_array(, buffer, Campo) mais mensagem.deserialize_field(, buffer, Campo) end end se .is_a?(Msg) .Fix_after_deserialization end end |
#respondível? ➤ true, false
Se a mensagem espera uma resposta do banco de banco de dados.
120 121 122 |
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/compressed.rb', linha 120 def respondível? @ original_message.respondível? end |