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

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

개요

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

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

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

클래스 메서드 요약 접기

클래스 메서드 세부 정보

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

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

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

매개변수:

  • buffer (string)

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

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

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

반환합니다:

  • (Fixnum)

    역직렬화된 Int64.



169
170
171
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 169

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

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

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

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

매개변수:

  • buffer (string)

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

  • value (정수 | BSON::Int64)

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

반환합니다:

  • (string)

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



151
152
153
154
155
156
157
158
159
160
161
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 151

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