Struct google_api_proto::google::assistant::embedded::v1alpha2::embedded_assistant_client::EmbeddedAssistantClient
source · pub struct EmbeddedAssistantClient<T> { /* private fields */ }
Expand description
Service that implements the Google Assistant API.
Implementations§
source§impl<T> EmbeddedAssistantClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> EmbeddedAssistantClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_origin(inner: T, origin: Uri) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> EmbeddedAssistantClient<InterceptedService<T, F>>where
F: Interceptor,
T::ResponseBody: Default,
T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>,
<T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,
sourcepub fn send_compressed(self, encoding: CompressionEncoding) -> Self
pub fn send_compressed(self, encoding: CompressionEncoding) -> Self
Compress requests with the given encoding.
This requires the server to support it otherwise it might respond with an error.
sourcepub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
Enable decompressing responses.
sourcepub fn max_decoding_message_size(self, limit: usize) -> Self
pub fn max_decoding_message_size(self, limit: usize) -> Self
Limits the maximum size of a decoded message.
Default: 4MB
sourcepub fn max_encoding_message_size(self, limit: usize) -> Self
pub fn max_encoding_message_size(self, limit: usize) -> Self
Limits the maximum size of an encoded message.
Default: usize::MAX
sourcepub async fn assist(
&mut self,
request: impl IntoStreamingRequest<Message = AssistRequest>,
) -> Result<Response<Streaming<AssistResponse>>, Status>
pub async fn assist( &mut self, request: impl IntoStreamingRequest<Message = AssistRequest>, ) -> Result<Response<Streaming<AssistResponse>>, Status>
Initiates or continues a conversation with the embedded Assistant Service.
Each call performs one round-trip, sending an audio request to the service
and receiving the audio response. Uses bidirectional streaming to receive
results, such as the END_OF_UTTERANCE
event, while sending audio.
A conversation is one or more gRPC connections, each consisting of several streamed requests and responses. For example, the user says Add to my shopping list and the Assistant responds What do you want to add?. The sequence of streamed requests and responses in the first gRPC message could be:
- AssistRequest.config
- AssistRequest.audio_in
- AssistRequest.audio_in
- AssistRequest.audio_in
- AssistRequest.audio_in
- AssistResponse.event_type.END_OF_UTTERANCE
- AssistResponse.speech_results.transcript “add to my shopping list”
- AssistResponse.dialog_state_out.microphone_mode.DIALOG_FOLLOW_ON
- AssistResponse.audio_out
- AssistResponse.audio_out
- AssistResponse.audio_out
The user then says bagels and the Assistant responds
OK, I’ve added bagels to your shopping list. This is sent as another gRPC
connection call to the Assist
method, again with streamed requests and
responses, such as:
- AssistRequest.config
- AssistRequest.audio_in
- AssistRequest.audio_in
- AssistRequest.audio_in
- AssistResponse.event_type.END_OF_UTTERANCE
- AssistResponse.dialog_state_out.microphone_mode.CLOSE_MICROPHONE
- AssistResponse.audio_out
- AssistResponse.audio_out
- AssistResponse.audio_out
- AssistResponse.audio_out
Although the precise order of responses is not guaranteed, sequential
AssistResponse.audio_out
messages will always contain sequential portions
of audio.
Trait Implementations§
source§impl<T: Clone> Clone for EmbeddedAssistantClient<T>
impl<T: Clone> Clone for EmbeddedAssistantClient<T>
source§fn clone(&self) -> EmbeddedAssistantClient<T>
fn clone(&self) -> EmbeddedAssistantClient<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl<T> !Freeze for EmbeddedAssistantClient<T>
impl<T> RefUnwindSafe for EmbeddedAssistantClient<T>where
T: RefUnwindSafe,
impl<T> Send for EmbeddedAssistantClient<T>where
T: Send,
impl<T> Sync for EmbeddedAssistantClient<T>where
T: Sync,
impl<T> Unpin for EmbeddedAssistantClient<T>where
T: Unpin,
impl<T> UnwindSafe for EmbeddedAssistantClient<T>where
T: UnwindSafe,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request