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, _validating_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.
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 208 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, _validating_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.
181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 181 def auto.serializar(buffer, valor, max_bson_size = nada, _validating_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.
229 230 231 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 229 def auto.size_limited? true end |