pub struct Client {
pub client: Client,
pub request_semaphore: Arc<Semaphore>,
/* private fields */
}Fields§
§client: Client§request_semaphore: Arc<Semaphore>Semaphore for limiting simultaneous requests. Shared across clones of this client.
Implementations§
Source§impl Client
impl Client
Sourcepub fn set_max_simultaneous_requests(&mut self, max: usize)
pub fn set_max_simultaneous_requests(&mut self, max: usize)
Set the maximum number of simultaneous requests allowed.
This creates a new semaphore with the specified number of permits. Note: This will NOT affect existing clones of this client - they will keep using the old semaphore. Call this before cloning if you need all instances to share the same limit.
Sourcepub fn update_default_option<O>(&mut self, option: O)
pub fn update_default_option<O>(&mut self, option: O)
Update the default options for this Client
pub fn is_authenticated<O>(&self) -> bool
Sourcepub async fn request<'a, R, O, Q, B>(
&self,
method: Method,
url: &str,
query: Option<&Q>,
body: Option<B>,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, B>>::RequestHandler as RequestHandler<B>>::Successful, RequestError>where
O: HttpOption<'a, R, B>,
O::RequestHandler: RequestHandler<B>,
Self: GetOptions<O::Options>,
Q: Serialize + ?Sized + Debug,
pub async fn request<'a, R, O, Q, B>(
&self,
method: Method,
url: &str,
query: Option<&Q>,
body: Option<B>,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, B>>::RequestHandler as RequestHandler<B>>::Successful, RequestError>where
O: HttpOption<'a, R, B>,
O::RequestHandler: RequestHandler<B>,
Self: GetOptions<O::Options>,
Q: Serialize + ?Sized + Debug,
Sourcepub async fn get<'a, R, O, Q>(
&self,
url: &str,
query: &Q,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
Q: Serialize + ?Sized + Debug,
pub async fn get<'a, R, O, Q>(
&self,
url: &str,
query: &Q,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
Q: Serialize + ?Sized + Debug,
Sourcepub async fn get_no_query<'a, R, O>(
&self,
url: &str,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
pub async fn get_no_query<'a, R, O>(
&self,
url: &str,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
Sourcepub async fn post<'a, R, O, B>(
&self,
url: &str,
body: B,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, B>>::RequestHandler as RequestHandler<B>>::Successful, RequestError>
pub async fn post<'a, R, O, B>( &self, url: &str, body: B, options: impl IntoIterator<Item = O>, ) -> Result<<<O as HttpOption<'a, R, B>>::RequestHandler as RequestHandler<B>>::Successful, RequestError>
Sourcepub async fn post_no_body<'a, R, O>(
&self,
url: &str,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
pub async fn post_no_body<'a, R, O>(
&self,
url: &str,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
Sourcepub async fn put<'a, R, O, B>(
&self,
url: &str,
body: B,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, B>>::RequestHandler as RequestHandler<B>>::Successful, RequestError>
pub async fn put<'a, R, O, B>( &self, url: &str, body: B, options: impl IntoIterator<Item = O>, ) -> Result<<<O as HttpOption<'a, R, B>>::RequestHandler as RequestHandler<B>>::Successful, RequestError>
Sourcepub async fn put_no_body<'a, R, O>(
&self,
url: &str,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
pub async fn put_no_body<'a, R, O>(
&self,
url: &str,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
Sourcepub async fn delete<'a, R, O, Q>(
&self,
url: &str,
query: &Q,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
Q: Serialize + ?Sized + Debug,
pub async fn delete<'a, R, O, Q>(
&self,
url: &str,
query: &Q,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
Q: Serialize + ?Sized + Debug,
Sourcepub async fn delete_no_query<'a, R, O>(
&self,
url: &str,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
pub async fn delete_no_query<'a, R, O>(
&self,
url: &str,
options: impl IntoIterator<Item = O>,
) -> Result<<<O as HttpOption<'a, R, ()>>::RequestHandler as RequestHandler<()>>::Successful, RequestError>where
O: HttpOption<'a, R, ()>,
O::RequestHandler: RequestHandler<()>,
Self: GetOptions<O::Options>,
pub fn ws_connection<O>( &self, url: &str, options: impl IntoIterator<Item = O>, ) -> Result<WsConnection<O::WsHandler>, UrlError>
Trait Implementations§
Source§impl GetOptions<BinanceOptions> for Client
Available on crate feature binance only.
impl GetOptions<BinanceOptions> for Client
Available on crate feature
binance only.fn default_options(&self) -> &BinanceOptions
fn default_options_mut(&mut self) -> &mut BinanceOptions
fn is_authenticated(&self) -> bool
Source§impl GetOptions<BybitOptions> for Client
Available on crate feature bybit only.
impl GetOptions<BybitOptions> for Client
Available on crate feature
bybit only.fn default_options(&self) -> &BybitOptions
fn default_options_mut(&mut self) -> &mut BybitOptions
fn is_authenticated(&self) -> bool
Source§impl GetOptions<MexcOptions> for Client
Available on crate feature mexc only.
impl GetOptions<MexcOptions> for Client
Available on crate feature
mexc only.fn default_options(&self) -> &MexcOptions
fn default_options_mut(&mut self) -> &mut MexcOptions
fn is_authenticated(&self) -> bool
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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