Module: Mongo::Protocol::Serializers::Sections Private
- Definido em:
- lib/mongo/protocol/serializers.rb
Visão geral
Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.
Estratégia de serialização de protocolo de conexão do MongoDB para uma seção de OP_MSG.
Serializa e desserializa uma lista de seções.
Definido sob namespace
Módulos: payloadOne, payloadZero
Recolhimento do Resumo do método de classe
-
.desserializar(buffer, opções = {}) ➤ Array<BSON::Document>
privado
Deserializa uma seção de um OP_MSG do fluxo IO.
-
.serializar(buffer, valor, max_bson_size = nil, validate_keys = nil) ➤ BSON::ByteBuffer
privado
Serializa as seções de um OP_MSG, tipo de carga útil 0 ou 1.
-
.size_limited? ➤ verdadeiro
privado
Se pode haver um limite de tamanho para esse tipo após a serialização.
Detalhes do método de classe
.desserializar(buffer, opções = {}) ➤ Array<BSON::Document>
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.
Deserializa uma seção de um OP_MSG do fluxo IO.
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 219 def auto.desserializar(buffer, = {}) end_long = (@marca_bits & Msg::Bandeiras.index(:checksum_present)) == 1 ? 32 : 0 Seções = [] até que buffer.Tamanho == end_long caso byte = buffer.get_byte quando PlayloadZero::TYPE_BYTE Seções << PlayloadZero.desserializar(buffer, ) quando Carga útil uma::TYPE_BYTE Seções += Carga útil uma.desserializar(buffer, ) mais aumentar Erro::UnknownPayloadType.Novo(byte) end end Seções end |
.serializar(buffer, valor, max_bson_size = nil, validate_keys = nil) ➤ BSON::ByteBuffer
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.
Serializa as seções de um OP_MSG, tipo de carga útil 0 ou 1.
192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 192 def auto.serializar(buffer, valor, max_bson_size = nada, validate_keys = nada) valor.cada fazer |Seção| caso Seção[:type] quando PlayloadZero::Tipo PlayloadZero.serializar(buffer, Seção[: payload], max_bson_size) quando nada PlayloadZero.serializar(buffer, Seção[: payload], max_bson_size) quando Carga útil uma::Tipo Carga útil uma.serializar(buffer, Seção[: payload], max_bson_size) mais aumentar Erro::UnknownPayloadType.Novo(Seção[:type]) end end end |
.size_limited? ➤ verdadeiro
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.
Se pode haver um limite de tamanho para esse tipo após a serialização.
240 241 242 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 240 def auto.size_limited? true end |