모듈: Mongo::Protocol::Serializers::Sections::PayloadZero Private

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

개요

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

OP_MSG의 페이로드 0 유형 섹션에 대한 MongoDB 유선 프로토콜 직렬화 전략입니다.

이후:

  • 2.5.0

상수 요약 접기

유형 =

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

이 페이로드 유형의 바이트 식별자입니다.

이후:

  • 2.5.0

0x0
TYPE_BYTE =

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

이 페이로드 유형에 해당하는 바이트입니다.

이후:

  • 2.5.0

유형.chr.force_encoding(BSON::바이너리).동결

클래스 메서드 요약 접기

클래스 메서드 세부 정보

.역직렬화(버퍼, 옵션 = {}) ⇒ Array<BSON::Document>

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

IO 스트림 에서 OP_MSG 의 페이로드 유형 0 섹션을 역직렬화합니다.

매개변수:

  • buffer (BSON::ByteBuffer)

    섹션이 포함된 버퍼입니다.

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

옵션 해시(options):

  • :deserialize_as_bson (부울)

    가능한 BSON types Ruby 경우 네이티브 유형 대신 을 사용하여 섹션 역직렬화를 수행할지 여부입니다.

반환합니다:

  • (Array<BSON::Document>)

    역직렬화된 섹션.

이후:

  • 2.5.0



287
288
289
290
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 287

def self.역직렬화(buffer, 옵션 = {})
  모드 = 옵션[:deserialize_as_bson] ? :bson : nil
  BSON::문서.from_bson(buffer, **{ 모드: 모드 })
end

.직렬화(버퍼, 값, max_bson_size = nil, validation_keys = nil) ⇒ BSON::ByteBuffer

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

OP_MSG, 페이로드 유형 0 의 섹션을 직렬화합니다.

매개변수:

  • buffer (BSON::ByteBuffer)

    직렬화된 섹션을 수신하는 버퍼입니다.

  • value (BSON::Document, Hash)

    직렬화할 객체 입니다.

  • max_bson_size (Fixnum) (기본값: nil)

    해당 섹션에 있는 문서의 최대 BSON 크기입니다.

  • validation_keys (true, false) (기본값: nil)

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

반환합니다:

  • (BSON::ByteBuffer)

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

이후:

  • 2.5.0



270
271
272
273
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 270

def self.직렬화(buffer, value, max_bson_size = nil, validation_keys = nil)
  buffer.put_byte(TYPE_BYTE)
  Serializer::문서.직렬화(buffer, value, max_bson_size)
end