728x90
UnknownFieldSet
- Google Protocol Buffers(프로토콜 버퍼) 라이브러리의 기능 중 하나로, 메시지 형식의 필드 정의에 포함되지 않은 필드를 처리하기 위한 구조체 또는 클래스이다. 프로토콜 버퍼 메시지를 직렬화하고 역직렬화할 때, 정의되지 않은 필드 또는 알 수 없는 필드가 있을 수 있다. 이러한 필드는 UnknownFieldSet을 통해 관리된다.
주요 기능
- 미지의 필드 저장
- UnknownFieldSet는 메시지를 역직렬화하는 동안 메시지 형식에 정의되지 않은 필드를 저장한다. 이는 메시지 구조가 변경된 후에도 역방향 호환성을 유지할 수 있도록 도와준다. 예를 들어, 메시지 형식이 업데이트되어 새로운 필드가 추가되었지만, 이전 버전의 시스템에서도 해당 메시지를 수신하고 처리할 수 있다.
- 직렬화 및 역직렬화
- 미지의 필드는 직렬화 과정에서 원래 형태 그대로 보존된다. 이렇게 하면 원래 메시지 형식을 다시 사용하는 경우, 원래 필드 데이터가 손실되지 않고 복원될 수 있다.
- 호환성 유지
- 새로운 필드가 추가된 메시지가 이전 버전의 시스템에 의해 수신될 때, 알 수 없는 필드는 무시되지 않고 UnknownFieldSet에 저장된다. 이렇게 하면 이후에 해당 필드를 필요로 하는 시스템이 올바르게 동작할 수 있다.
주요 메서드 및 속성
- AddField
- 미지의 필드를 추가한다.
- Clear
- 모든 미지의 필드를 제거한다.
- MergeFrom
- 다른 UnknownFieldSet에서 데이터를 병합한다.
- ToByteArray
- UnknownFieldSet의 내용을 바이트 배열로 직렬화한다.
728x90
'언어 > C#' 카테고리의 다른 글
JsonFormatter.ToDiagnosticString (0) | 2024.08.12 |
---|---|
ProtoMsg.ProtocolMessageReflection.Descriptor.MessageTypes (0) | 2024.08.12 |
GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE (0) | 2024.08.12 |
Sealed (0) | 2024.08.12 |
partial (0) | 2024.08.09 |