Module: Mongo::Protocol::Serializers::Header Private

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

개요

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

메시지 헤더에 대한 MongoDB 유선 프로토콜 직렬화 전략입니다.

메시지 길이, 요청 ID, 응답 ID 및 연산 코드로 구성된 4개의 32비트 정수를 직렬화 및 역직렬화합니다.

클래스 메서드 요약 접기

클래스 메서드 세부 정보

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

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

IO 스트림 에서 헤더 값을 역직렬화합니다.

매개변수:

  • buffer (string)

    메시지 헤더가 포함된 버퍼입니다.

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

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

반환합니다:

  • (Array<Fixnum>)

    역직렬화된 길이, 요청 ID, 응답 ID 및 연산 코드로 구성된 배열입니다.



69
70
71
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 69

def self.역직렬화(buffer, 옵션 = {})
  buffer.get_bytes(16).unpack(HEADER_PACK)
end

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

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

헤더 값을 버퍼에 직렬화합니다.

매개변수:

  • buffer (string)

    직렬화된 값을 수신할 버퍼입니다.

  • value (string)

    직렬화할 헤더 값입니다.

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

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

반환합니다:

  • (string)

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



58
59
60
# 파일 'build/ruby-driver-v2.19/lib/mongo/protocol/serializers.rb', 줄 58

def self.직렬화(buffer, value, validation_keys = nil)
  buffer.put_bytes(value.(HEADER_PACK))
end