Struct ClientBuilder

Source
pub struct ClientBuilder<U> { /* private fields */ }
Expand description

A builder for creating a ComfyUIClient instance.

This builder helps initialize the client with the provided base URL and sets up a websocket connection to stream events.

Implementations§

Source§

impl<U: IntoUrl> ClientBuilder<U>

Source

pub fn new(base_url: U) -> Self

Creates a new ClientBuilder instance.

§Parameters
  • base_url: The base URL of the ComfyUI service.
§Returns

A new instance of ClientBuilder wrapped in a ClientResult, or an error if the URL is invalid.

Source

pub fn channel_bound(self, channel_bound: usize) -> Self

Sets the capacity of the internal channel used for event streaming.

This controls how many events can be buffered before backpressure is applied. The default value is 100.

§Parameters
  • channel_bound: The maximum number of events the channel can hold.
§Returns

The updated ClientBuilder instance.

Source

pub fn reconnect_web_socket(self, reconnect: bool) -> Self

Sets whether the websocket should attempt to reconnect automatically when disconnected.

By default, reconnection is enabled (true).

§Parameters
  • reconnect: Whether to attempt reconnection when the WebSocket connection drops unexpectedly.
§Returns

The updated ClientBuilder instance.

Source

pub async fn build(self) -> ClientResult<(ComfyUIClient, EventStream)>

Builds the ComfyUIClient along with an associated EventStream and a background task handle.

This method establishes a websocket connection and spawns an asynchronous task to process incoming messages. If reconnection is enabled, the task will automatically attempt to reconnect when the WebSocket connection drops unexpectedly.

§Returns

A tuple containing:

The WebSocket connection will be automatically closed when the EventStream is dropped, as the background task managing the connection terminates when the stream is no longer being consumed.

Returns an error if the initial connection cannot be established.

Source

pub async fn build_only_http(self) -> ClientResult<ComfyUIClient>

Builds a ComfyUIClient instance configured for HTTP-only communication.

This method initializes the client without establishing a websocket connection, enabling you to interact with the ComfyUI service using only HTTP (REST) requests.

§Returns

A ComfyUIClient instance on success, or an error.

Auto Trait Implementations§

§

impl<U> Freeze for ClientBuilder<U>
where U: Freeze,

§

impl<U> RefUnwindSafe for ClientBuilder<U>
where U: RefUnwindSafe,

§

impl<U> Send for ClientBuilder<U>
where U: Send,

§

impl<U> Sync for ClientBuilder<U>
where U: Sync,

§

impl<U> Unpin for ClientBuilder<U>
where U: Unpin,

§

impl<U> UnwindSafe for ClientBuilder<U>
where U: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,