pub struct CodeGeneratorRequest {
    pub file_to_generate: Vec<String>,
    pub parameter: Option<String>,
    pub proto_file: Vec<FileDescriptorProto>,
    pub compiler_version: MessageField<Version>,
    pub special_fields: SpecialFields,
}
Expand description

An encoded CodeGeneratorRequest is written to the plugin’s stdin.

Fields

file_to_generate: Vec<String>

The .proto files that were explicitly listed on the command-line. The code generator should generate code only for these files. Each file’s descriptor will be included in proto_file, below.

parameter: Option<String>

The generator parameter passed on the command-line.

proto_file: Vec<FileDescriptorProto>

FileDescriptorProtos for all files in files_to_generate and everything they import. The files will appear in topological order, so each file appears before any file that imports it.

protoc guarantees that all proto_files will be written after the fields above, even though this is not technically guaranteed by the protobuf wire format. This theoretically could allow a plugin to stream in the FileDescriptorProtos and handle them one by one rather than read the entire set into memory at once. However, as of this writing, this is not similarly optimized on protoc’s end – it will store all fields in memory at once before sending them to the plugin.

Type names of fields and extensions in the FileDescriptorProto are always fully qualified.

compiler_version: MessageField<Version>

The version number of protocol compiler.

special_fields: SpecialFields

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Returns the “default value” for a type. Read more

Formats the value using the given formatter. Read more

Message name as specified in .proto file. Read more

True iff all required fields are initialized. Always returns true for protobuf 3. Read more

Update this message object with fields read from given stream.

Compute and cache size of this message and all nested messages. Read more

Write message to the stream. Read more

Special fields (unknown fields and cached size).

Special fields (unknown fields and cached size).

Create an empty message object. Read more

Reset all fields.

Return a pointer to default immutable message with static lifetime. Read more

Parse message from stream.

Get size previously computed by compute_size. Read more

Write the message to the stream. Read more

Write the message to the stream prepending the message with message length encoded as varint. Read more

Write the message to the vec, prepend the message with message length encoded as varint. Read more

Update this message object with fields read from given stream.

Parse message from reader. Parse stops on EOF or when error encountered. Read more

Parse message from byte array.

Parse message from Bytes object. Resulting message may share references to the passed bytes object. Read more

Check if all required fields of this object are initialized.

Write the message to the writer.

Write the message to bytes vec.

Write the message to bytes vec. Read more

Write the message to the writer, prepend the message with message length encoded as varint. Read more

Write the message to the bytes vec, prepend the message with message length encoded as varint. Read more

Get a reference to unknown fields.

Get a mutable reference to unknown fields.

Get message descriptor for message type. Read more

Reflective equality. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Actual implementation of type properties.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.