모듈: Mongo::Protocol::Serializers::Int32 비공개

다음에 정의됨:
lib/ Mongo/ 프로토콜/serializers.rb

개요

이 모듈은 비공개 API의 일부입니다. 이 모듈은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

32비트 정수에 대한 MongoDB 유선 프로토콜 직렬화 전략입니다.

하나의 32비트 정수를 직렬화 및 역직렬화합니다.

클래스 메서드 요약 접기

클래스 메서드 세부 정보

.역직렬화(버퍼, _options = {}) ⇒ Fixnum

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

IO 스트림 에서 32비트 Fixnum을 역직렬화합니다.

매개변수:

  • buffer (string)

    32비트 정수를 포함하는 버퍼

  • 옵션 (해시)

    이 메서드는 현재 옵션을 허용하지 않습니다.

반환합니다:

  • (Fixnum)

    역직렬화된 Int32



126
127
128
# 파일 'lib/ Mongo/ 프로토콜/serializers.rb', 줄 126

def self.역직렬화(buffer, _options = {})
  buffer.get_int32
end

.직렬화(버퍼, 값, _validating_keys = nil) ⇒ String

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

숫자를 32비트 정수로 직렬화합니다.

매개변수:

  • buffer (string)

    직렬화된 Int32 을(를) 수신할 버퍼입니다.

  • value (정수 | BSON::Int32)

    32- 직렬화할 비트 정수입니다.

반환합니다:

  • (string)

    직렬화된 값이 있는 버퍼입니다.



108
109
110
111
112
113
114
115
116
117
118
# 파일 'lib/ Mongo/ 프로토콜/serializers.rb', 줄 108

def self.직렬화(buffer, value, _validating_keys = nil)
  만약 value.is_a?(BSON::Int32)
    value = 만약 value.response_to?(:value)
              # bson-ruby >= 4.6.0
              value.value
            other
              value.instance_variable_get(:@integer)
            end
  end
  buffer.put_int32(value)
end