pub struct EmbedClient { /* private fields */ }Expand description
Embed-socket client.
Construct via dial_tcp / dial_uds (Unix) / dial_pipe
(Windows). Wrap with crate::dial_and_wait_ready to retry
connect during daemon bring-up — the retry helper is generic over
the client type so the same wait logic serves v1 / v2 / embed.
Implementations§
Source§impl EmbedClient
impl EmbedClient
Sourcepub async fn dial_tcp(addr: &str) -> Result<Self, ClientError>
pub async fn dial_tcp(addr: &str) -> Result<Self, ClientError>
Open a TCP connection to addr (e.g. "127.0.0.1:47323").
Embed TCP transport is opt-in (config-flagged off by default);
see ADR 0017 §Endpoints for the configured port convention.
Sourcepub async fn dial_uds(path: &Path) -> Result<Self, ClientError>
pub async fn dial_uds(path: &Path) -> Result<Self, ClientError>
Open a Unix domain socket connection (Unix only). Default embed
path: ${XDG_RUNTIME_DIR}/inferd/infer.embed.sock on Linux,
${TMPDIR}/inferd/infer.embed.sock on macOS.
Sourcepub async fn embed(
&mut self,
req: EmbedRequest,
) -> Result<EmbedResponse, ClientError>
pub async fn embed( &mut self, req: EmbedRequest, ) -> Result<EmbedResponse, ClientError>
Send an EmbedRequest and read back the single terminal
EmbedResponse frame (Embeddings or Error). The connection
stays open for the next call.
Yields Err(ClientError::UnexpectedEof) if the daemon closes
the connection without writing a response (e.g. crashed mid-
request). Per docs/protocol-v1.md, callers treat this as
equivalent to a backend_unavailable error and apply their own
retry policy.