protorpc.definition
软件包提供以下函数:
- define_enum(enum_descriptor, module_name)
-
定义描述符的 Enum 类。
参数- enum_descriptor
- EnumDescriptor 用于构建 Enum 类。
- module_name
- 模块名称用于指定新的描述符类。
返回一个新的 messages.Enum 子类(由
enum_descriptor
描述)。 - define_field(field_descriptor)
-
根据提供的描述符定义字段实例。
参数- field_descriptor
- 用于构建字段实例的 FieldDescriptor 类。
如
field_descriptor
所述,返回一个新的字段实例。 - define_message(message_descriptor, module_name)
-
根据提供的描述符定义一个 Message 类。
参数- message_descriptor
- MessageDescriptor 用于描述消息类。
- module_name
- 模块名称用于指定新的描述符类。
返回一个新的 messages.Message 子类(由
message_descriptor
描述)。 - 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 内容更新该模块。