aws_sdk_transcribestreaming/
event_receiver.rs1use aws_smithy_http::event_stream::{InitialMessageType, Receiver};
8use aws_smithy_runtime_api::client::result::SdkError;
9use aws_smithy_types::event_stream::{Message, RawMessage};
10
11#[derive(Debug)]
12pub struct EventReceiver<T, E> {
14    inner: Receiver<T, E>,
15}
16
17impl<T, E> EventReceiver<T, E> {
18    pub(crate) fn new(inner: Receiver<T, E>) -> Self {
19        Self { inner }
20    }
21
22    #[allow(dead_code)]
23    pub(crate) async fn try_recv_initial_request(
24        &mut self,
25    ) -> Result<Option<Message>, SdkError<E, RawMessage>> {
26        self.inner
27            .try_recv_initial(InitialMessageType::Request)
28            .await
29    }
30
31    #[allow(dead_code)]
32    pub(crate) async fn try_recv_initial_response(
33        &mut self,
34    ) -> Result<Option<Message>, SdkError<E, RawMessage>> {
35        self.inner
36            .try_recv_initial(InitialMessageType::Response)
37            .await
38    }
39
40    pub async fn recv(&mut self) -> Result<Option<T>, SdkError<E, RawMessage>> {
45        self.inner.recv().await
46    }
47}
48