정의 모듈 함수

protorpc.definition 패키지는 다음과 같은 함수를 제공합니다.

define_enum(enum_descriptor, module_name)

설명자의 열거형 클래스를 정의합니다.

인수
enum_descriptor
열거형 클래스를 빌드하는 데 사용할 EnumDescriptor입니다.
module_name
새 설명자 클래스에 부여할 모듈 이름입니다.

enum_descriptor의 설명대로 새 messages.Enum 서브클래스를 반환합니다.

define_field(field_descriptor)

제공된 설명자로부터 필드 인스턴스를 정의합니다.

인수
field_descriptor
필드 인스턴스를 빌드하는 데 사용할 FieldDescriptor 클래스입니다.

field_descriptor의 설명대로 새 필드 인스턴스를 반환합니다.

define_message(message_descriptor, module_name)

제공된 설명자로부터 메시지 클래스를 정의합니다.

인수
message_descriptor
메시지 클래스를 설명하는 데 사용할 MessageDescriptor입니다.
module_name
새 설명자 클래스에 부여할 모듈 이름입니다.

message_descriptor의 설명대로 새 messages.Message 서브클래스를 반환합니다.

define_service(service_descriptor, module)

새 서비스 프록시를 정의합니다.

인수
service_descriptor
서비스를 설명하는 ServiceDescriptor 클래스입니다.
module
서비스를 추가할 모듈입니다. 이 모듈을 기준으로 요청 및 응답 유형을 검색합니다.

원격 서버와 통신할 수 있는 클래스 프록시를 반환합니다.

define_file(file_descriptor, module=None)

지정된 파일 설명자로부터 모듈을 정의합니다.

인수
file_descriptor
모듈을 설명하는 데 사용할 FileDescriptor 인스턴스입니다.
module=None
포함된 객체를 추가할 모듈입니다. 모듈 이름은 file_descriptor.package의 값을 재정의합니다. 기존 모듈을 제공하면 해당 모듈에 정의가 추가됩니다.

모듈을 제공하지 않으면 새 모듈을 만들고 이름을 파일 설명자의 패키지로 설정합니다. 모듈을 제공하면 같은 모듈을 반환합니다.

유틸리티 함수

import_file(file_descriptor, modules=None)

FileDescriptor를 모듈 공간으로 가져옵니다. define_file()과 비슷하지만, 새 모듈 및 필요한 모든 상위 모듈을 생성하여 모듈 매개변수에 추가한다는 점이 다릅니다. 모듈 매개변수를 제공하지 않으면 sys.modules에 추가합니다.

인수
file_descriptor
모듈을 설명하는 데 사용할 FileDescriptor 인스턴스입니다.
modulesmodules=None
업데이트할 모듈의 사전입니다. 모듈 및 상위 모듈이 존재하지 않으면 자동으로 생성합니다. file_descriptor.package와 일치하는 기존 모듈이 있으면 FileDescriptor의 내용으로 해당 모듈을 업데이트합니다.

modules 인수와 일치하는 항목을 반환하거나, 일치 항목이 없으면 새 모듈을 반환합니다.

import_file_set(file_set, modules=None)

인수
file_set
문자열 또는 FileSet 인스턴스입니다. 문자열인 경우 import_file_set()은 파일을 열고 직렬화된 FileSet을 읽습니다. FileSet 인스턴스인 경우에는 해당 인스턴스에서 정의를 가져옵니다.
modules
업데이트할 모듈의 사전입니다. 모듈 및 상위 모듈이 존재하지 않으면 자동으로 생성합니다. file_descriptor.package와 일치하는 기존 모듈이 있으면 FileDescriptor의 내용으로 해당 모듈을 업데이트합니다.