Module: Mongo::Protocol::Serializers::Sections::PayloadZero Private

Defined in:
lib/mongo/protocol/serializers.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

MongoDB wire protocol serialization strategy for a payload 0 type Section of OP_MSG.

Since:

  • 2.5.0

Constant Summary collapse

TYPE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

The byte identifier for this payload type.

Since:

  • 2.5.0

0x0
TYPE_BYTE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

The byte corresponding to this payload type.

Since:

  • 2.5.0

TYPE.chr.force_encoding(BSON::BINARY).freeze

Class Method Summary collapse

Class Method Details

.deserialize(buffer) ⇒ Array<BSON::Document>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deserializes a section of payload type 0 of an OP_MSG from the IO stream.

Parameters:

  • buffer (BSON::ByteBuffer)

    Buffer containing the sections.

Returns:

  • (Array<BSON::Document>)

    Deserialized section.

Since:

  • 2.5.0



251
252
253
# File 'lib/mongo/protocol/serializers.rb', line 251

def self.deserialize(buffer)
  BSON::Document.from_bson(buffer)
end

.serialize(buffer, value, max_bson_size = nil, validating_keys = BSON::Config.validating_keys?) ⇒ BSON::ByteBuffer

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Serializes a section of an OP_MSG, payload type 0.

Parameters:

  • buffer (BSON::ByteBuffer)

    Buffer to receive the serialized Sections.

  • value (BSON::Document, Hash)

    The object to serialize.

  • max_bson_size (Fixnum) (defaults to: nil)

    The max bson size of documents in the section.

  • validating_keys (true, false) (defaults to: BSON::Config.validating_keys?)

    Whether to validate document keys.

Returns:

  • (BSON::ByteBuffer)

    Buffer with serialized value.

Since:

  • 2.5.0



239
240
241
242
# File 'lib/mongo/protocol/serializers.rb', line 239

def self.serialize(buffer, value, max_bson_size = nil, validating_keys = BSON::Config.validating_keys?)
  buffer.put_byte(TYPE_BYTE)
  Serializers::Document.serialize(buffer, value, max_bson_size, validating_keys)
end