클래스: Mongo::Protocol::CashingHash Private

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
lib/ Mongo/ 프로토콜/cashing_hash.rb

개요

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

#to_bson의 결과를 캐시하는 해시입니다.

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(hash) ⇒ CashingHash

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

캐싱 해시의 새 인스턴스 를 반환합니다.



23
24
25
# 파일 'lib/ Mongo/ 프로토콜/caching_hash.rb', 줄 23

def 초기화(해시)
  @hash = 해시
end

인스턴스 메서드 세부 정보

#bson_type객체

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



27
28
29
# 파일 'lib/ Mongo/ 프로토콜/caching_hash.rb', 줄 27

def bson_type
  해시::BSON_TYPE
end

#to_bson(buffer = BSON::ByteBuffer.new, _validating_keys = nil) ⇒ BSON::ByteBuffer

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

to_bson의 결과를 캐시하고 이 메서드를 후속 호출할 때 지정된 버퍼에 씁니다. 이 메서드가 원래 유효성 검사 없이 호출되었다가 나중에 유효성 검사 기능을 사용하여 호출된 경우, 유효성 검사 검사를 trigger 하기 위해 to_bson을 다시 계산해야 합니다.

매개변수:

  • buffer (BSON::ByteBuffer) (기본값: BSON::ByteBuffer.new)

    추가할 인코딩된 BSON 버퍼입니다.

  • validation_keys (true, false)

    직렬화 시 키의 유효성을 검사할지 여부입니다. 이 옵션은 더 이상 사용되지 않으며, 버전 3.0 에서 제거됩니다.

반환합니다:

  • (BSON::ByteBuffer)

    인코딩된 객체가 있는 버퍼입니다.



41
42
43
44
# 파일 'lib/ Mongo/ 프로토콜/caching_hash.rb', 줄 41

def to_bson(buffer = BSON::ByteBuffer.신규, _validating_keys = nil)
  @bytes ||= @hash.to_bson(BSON::ByteBuffer.신규).to_s
  buffer.put_bytes(@bytes)
end