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

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

개요

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

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

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

클래스 메서드 요약 접기

클래스 메서드 세부 정보

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

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

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

매개변수:

  • buffer (string)

    64비트 정수를 포함하는 버퍼입니다.

  • 옵션 (해시)

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

반환합니다:

  • (Fixnum)

    역직렬화된 Int64.



159
160
161
# 파일 'lib/ Mongo/ 프로토콜/serializers.rb', 줄 159

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

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

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

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

매개변수:

  • buffer (string)

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

  • value (정수 | BSON::Int64)

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

반환합니다:

  • (string)

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



141
142
143
144
145
146
147
148
149
150
151
# 파일 'lib/ Mongo/ 프로토콜/serializers.rb', 줄 141

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