모듈: Mongo::Protocol::Serializers::Sections::PayloadOne Private
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb
개요
이 모듈은 비공개 API의 일부입니다. 이 모듈은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
OP_MSG의 페이로드 1 유형 섹션에 대한 MongoDB 유선 프로토콜 직렬화 전략입니다.
상수 요약 접기
- 유형 =
이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 페이로드 유형의 바이트 식별자입니다.
0x1
- TYPE_BYTE =
이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 페이로드 유형에 해당하는 바이트입니다.
유형.chr.force_encoding(BSON::바이너리).동결
클래스 메서드 요약 접기
-
.역직렬화(버퍼) ⇒ Array<BSON::Document>
비공개
IO 스트림 에서 OP_MSG 의 페이로드 유형 1 섹션을 역직렬화합니다.
-
.직렬화(버퍼, 값, max_bson_size = nil, validation_keys = nil) ⇒ BSON::ByteBuffer
비공개
OP_MSG, 페이로드 유형 1 의 섹션을 직렬화합니다.
클래스 메서드 세부 정보
.역직렬화(버퍼) ⇒ Array<BSON::Document>
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
IO 스트림 에서 OP_MSG 의 페이로드 유형 1 섹션을 역직렬화합니다.
337 338 339 340 341 342 343 344 345 346 347 348 349 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 337 def self.역직렬화(buffer) 올리다 NotImplementedError start_size = buffer.분량 섹션 크기 = buffer.get_int32 # 크기 가져오기 end_size = start_size - 섹션 크기 buffer.get_cstring # 식별자 가져오기 문서 = [] 까지 buffer.분량 == end_size 문서 << BSON::문서.from_bson(buffer) end 문서 end |
.직렬화(버퍼, 값, max_bson_size = nil, validation_keys = nil) ⇒ BSON::ByteBuffer
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
OP_MSG, 페이로드 유형 1 의 섹션을 직렬화합니다.
319 320 321 322 323 324 325 326 327 328 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 319 def self.직렬화(buffer, value, max_bson_size = nil, validation_keys = nil) buffer.put_byte(TYPE_BYTE) 시작하기 = buffer.분량 buffer.put_int32(0) # 크기만큼 유지 buffer.put_cstring(value[:identifier]) value[:sequence].각 do |문서| 문서.직렬화(buffer, 문서, max_bson_size) end buffer.replace_int32(시작하기, buffer.분량 - 시작하기) end |