Module: Mongo::Protocol::Serializers::Sections Private
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb
개요
이 모듈은 비공개 API의 일부입니다. 이 모듈은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
OP_MSG 섹션에 대한 MongoDB 유선 프로토콜 직렬화 전략입니다.
섹션 목록을 직렬화 및 역직렬화합니다.
네임스페이스 아래에 정의됨
모듈: PayloadOne, PayloadZero
클래스 메서드 요약 접기
-
.역직렬화(버퍼, 옵션 = {}) ⇒ Array<BSON::Document>
비공개
IO 스트림 에서 OP_MSG의 섹션을 역직렬화합니다.
-
.직렬화(버퍼, 값, max_bson_size = nil, validation_keys = nil) ⇒ BSON::ByteBuffer
비공개
OP_MSG, 페이로드 유형 0 또는 1 의 섹션을 직렬화합니다.
-
.size_limited? ⇒ true
비공개
직렬화 후 이 유형에 크기 제한이 있을 수 있는지 여부입니다.
클래스 메서드 세부 정보
.역직렬화(버퍼, 옵션 = {}) ⇒ Array<BSON::Document>
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
IO 스트림 에서 OP_MSG의 섹션을 역직렬화합니다.
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 219 def self.역직렬화(buffer, = {}) end_Length = (@flag_bits & 메시지::플래그.index(:checksum_present)) == 1 ? 32 : 0 섹션 = [] 까지 buffer.분량 == end_Length case byte = buffer.get_byte when Payload0::TYPE_BYTE 섹션 << Payload0.역직렬화(buffer, ) when PayloadOne::TYPE_BYTE 섹션 += PayloadOne.역직렬화(buffer, ) other 올리다 오류::UnknownPayloadType.신규(byte) end end 섹션 end |
.직렬화(버퍼, 값, max_bson_size = nil, validation_keys = nil) ⇒ BSON::ByteBuffer
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
OP_MSG, 페이로드 유형 0 또는 1 의 섹션을 직렬화합니다.
192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 192 def self.직렬화(buffer, value, max_bson_size = nil, validation_keys = nil) value.각 do |섹션| case 섹션[:type] when Payload0::유형 Payload0.직렬화(buffer, 섹션[:Payload], max_bson_size) when nil Payload0.직렬화(buffer, 섹션[:Payload], max_bson_size) when PayloadOne::유형 PayloadOne.직렬화(buffer, 섹션[:Payload], max_bson_size) other 올리다 오류::UnknownPayloadType.신규(섹션[:type]) end end end |
.size_limited? ⇒ true
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
직렬화 후 이 유형에 크기 제한이 있을 수 있는지 여부입니다.
240 241 242 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 240 def self.size_limited? true end |