module Mongo::Protocol::Serializers::Int32

MongoDB wire protocol serialization strategy for 32-bit integers.

Serializes and de-serializes one 32-bit integer.

Public Class Methods

deserialize(buffer) click to toggle source

Deserializes a 32-bit Fixnum from the IO stream

@param [ String ] buffer Buffer containing the 32-bit integer

@return [ Fixnum ] Deserialized Int32

# File lib/mongo/protocol/serializers.rb, line 123
def self.deserialize(buffer)
  buffer.get_int32
end
serialize(buffer, value, validating_keys = BSON::Config.validating_keys?) click to toggle source

Serializes a number to a 32-bit integer

@param buffer [ String ] Buffer to receive the serialized Int32. @param value [ Integer | BSON::Int32 ] 32-bit integer to be serialized.

@return [String] Buffer with serialized value.

# File lib/mongo/protocol/serializers.rb, line 111
def self.serialize(buffer, value, validating_keys = BSON::Config.validating_keys?)
  if value.is_a?(BSON::Int32)
    value = value.value
  end
  buffer.put_int32(value)
end