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

다음에 정의됨:
build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb

개요

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

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

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

클래스 메서드 요약 접기

클래스 메서드 세부 정보

.역직렬화(버퍼, 옵션 = {}) ⇒ 수정 번호

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

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

매개변수:

  • buffer (string)

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

  • 옵션 (해시) (기본값: {})

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

반환합니다:

  • (Fixnum)

    역직렬화된 Int32



135
136
137
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 135

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

.직렬화(버퍼, 값, validating_keys = nil) ⇒ string

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

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

매개변수:

  • buffer (string)

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

  • value (정수 | BSON::Int32)

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

반환합니다:

  • (string)

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



117
118
119
120
121
122
123
124
125
126
127
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 117

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