Struct prost_types::compiler::CodeGeneratorRequest
source · pub struct CodeGeneratorRequest {
pub file_to_generate: Vec<String>,
pub parameter: Option<String>,
pub proto_file: Vec<FileDescriptorProto>,
pub compiler_version: Option<Version>,
}
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: Option<Version>
The version number of protocol compiler.
Implementations§
Trait Implementations§
source§impl Clone for CodeGeneratorRequest
impl Clone for CodeGeneratorRequest
source§fn clone(&self) -> CodeGeneratorRequest
fn clone(&self) -> CodeGeneratorRequest
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CodeGeneratorRequest
impl Debug for CodeGeneratorRequest
source§impl Default for CodeGeneratorRequest
impl Default for CodeGeneratorRequest
source§impl Message for CodeGeneratorRequest
impl Message for CodeGeneratorRequest
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for CodeGeneratorRequest
impl PartialEq for CodeGeneratorRequest
impl StructuralPartialEq for CodeGeneratorRequest
Auto Trait Implementations§
impl Freeze for CodeGeneratorRequest
impl RefUnwindSafe for CodeGeneratorRequest
impl Send for CodeGeneratorRequest
impl Sync for CodeGeneratorRequest
impl Unpin for CodeGeneratorRequest
impl UnwindSafe for CodeGeneratorRequest
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)