pub struct RuntaraClient { /* private fields */ }Expand description
QUIC client for communicating with runtara-core
Implementations§
Source§impl RuntaraClient
impl RuntaraClient
Sourcepub fn new(config: RuntaraClientConfig) -> Result<Self, ClientError>
pub fn new(config: RuntaraClientConfig) -> Result<Self, ClientError>
Create a new client with the given configuration
Sourcepub fn localhost() -> Result<Self, ClientError>
pub fn localhost() -> Result<Self, ClientError>
Create a client with default configuration for local development
Sourcepub async fn connect(&self) -> Result<(), ClientError>
pub async fn connect(&self) -> Result<(), ClientError>
Connect to the server
Sourcepub async fn open_stream(
&self,
) -> Result<FramedStream<(SendStream, RecvStream)>, ClientError>
pub async fn open_stream( &self, ) -> Result<FramedStream<(SendStream, RecvStream)>, ClientError>
Open a new bidirectional stream for a request/response
Sourcepub async fn open_uni_send(
&self,
) -> Result<FramedStream<SendStream>, ClientError>
pub async fn open_uni_send( &self, ) -> Result<FramedStream<SendStream>, ClientError>
Open a unidirectional stream for sending (e.g., events)
Sourcepub async fn request<Req: Message, Resp: Message + Default>(
&self,
request: &Req,
) -> Result<Resp, ClientError>
pub async fn request<Req: Message, Resp: Message + Default>( &self, request: &Req, ) -> Result<Resp, ClientError>
Send a request and receive a response using a new stream
Sourcepub async fn send_fire_and_forget<Req: Message>(
&self,
request: &Req,
) -> Result<(), ClientError>
pub async fn send_fire_and_forget<Req: Message>( &self, request: &Req, ) -> Result<(), ClientError>
Send a fire-and-forget request (no response expected).
Use this for events that don’t require acknowledgement.
Sourcepub async fn open_raw_stream(
&self,
) -> Result<(SendStream, RecvStream), ClientError>
pub async fn open_raw_stream( &self, ) -> Result<(SendStream, RecvStream), ClientError>
Open a raw bidirectional stream for streaming operations.
This returns the raw QUIC streams for advanced use cases like streaming large data that doesn’t fit in a single frame.
Sourcepub async fn is_connected(&self) -> bool
pub async fn is_connected(&self) -> bool
Check if the client is currently connected
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for RuntaraClient
impl !RefUnwindSafe for RuntaraClient
impl Send for RuntaraClient
impl Sync for RuntaraClient
impl Unpin for RuntaraClient
impl !UnwindSafe for RuntaraClient
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