pub struct EventStream { /* private fields */ }Expand description
An async stream of StreamResponse events from an SSE endpoint.
Created by crate::A2aClient::stream_message or
crate::A2aClient::subscribe_to_task. Call EventStream::next in a loop
to consume events.
When dropped, the background body-reader task is aborted to prevent resource leaks.
Implementations§
Source§impl EventStream
impl EventStream
Sourcepub const fn status_code(&self) -> u16
pub const fn status_code(&self) -> u16
Returns the HTTP status code from the response that established this stream.
The transport layer validates the HTTP status during stream establishment
and returns an error for non-2xx responses, so this is typically 200.
Sourcepub async fn next(&mut self) -> Option<Result<StreamResponse, ClientError>>
pub async fn next(&mut self) -> Option<Result<StreamResponse, ClientError>>
Returns the next event from the stream.
Returns None when the stream ends normally (either the HTTP body
closed or a final: true event was received).
Returns Some(Err(...)) on transport or protocol errors.
Trait Implementations§
Source§impl Debug for EventStream
impl Debug for EventStream
Auto Trait Implementations§
impl Freeze for EventStream
impl RefUnwindSafe for EventStream
impl Send for EventStream
impl Sync for EventStream
impl Unpin for EventStream
impl UnsafeUnpin for EventStream
impl UnwindSafe for EventStream
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
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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>
Wrap the input message
T in a tonic::Request