use aws_smithy_http::event_stream::{InitialMessageType, Receiver};
use aws_smithy_runtime_api::client::result::SdkError;
use aws_smithy_types::event_stream::{Message, RawMessage};
#[derive(Debug)]
pub struct EventReceiver<T, E> {
inner: Receiver<T, E>,
}
impl<T, E> EventReceiver<T, E> {
pub(crate) fn new(inner: Receiver<T, E>) -> Self {
Self { inner }
}
#[allow(dead_code)]
pub(crate) async fn try_recv_initial_request(&mut self) -> Result<Option<Message>, SdkError<E, RawMessage>> {
self.inner.try_recv_initial(InitialMessageType::Request).await
}
#[allow(dead_code)]
pub(crate) async fn try_recv_initial_response(&mut self) -> Result<Option<Message>, SdkError<E, RawMessage>> {
self.inner.try_recv_initial(InitialMessageType::Response).await
}
pub async fn recv(&mut self) -> Result<Option<T>, SdkError<E, RawMessage>> {
self.inner.recv().await
}
}