Struct pd_client::util::Client[][src]

pub struct Client {
    timer: Handle,
    pub(crate) inner: RwLock<Inner>,
    pub feature_gate: FeatureGate,
    enable_forwarding: bool,
}

A leader client doing requests asynchronous.

Fields

timer: Handleinner: RwLock<Inner>feature_gate: FeatureGateenable_forwarding: bool

Implementations

impl Client[src]

pub(crate) fn new(
    env: Arc<Environment>,
    security_mgr: Arc<SecurityManager>,
    client_stub: PdClientStub,
    members: GetMembersResponse,
    target: TargetInfo,
    enable_forwarding: bool
) -> Client
[src]

pub fn update_client(
    &self,
    client_stub: PdClientStub,
    target: TargetInfo,
    members: GetMembersResponse
)
[src]

pub fn handle_region_heartbeat_response<F>(
    self: &Arc<Self>,
    f: F
) -> PdFuture<()> where
    F: Fn(RegionHeartbeatResponse) + Send + 'static, 
[src]

pub fn on_reconnect(&self, f: Box<dyn Fn() + Sync + Send + 'static>)[src]

pub fn request<Req, Resp, F>(
    self: &Arc<Self>,
    req: Req,
    func: F,
    retry: usize
) -> Request<Req, F> where
    Req: Clone + 'static,
    F: FnMut(&Client, Req) -> PdFuture<Resp> + Send + 'static, 
[src]

pub fn get_leader(&self) -> Member[src]

pub async fn reconnect(&self, force: bool) -> Result<()>[src]

Re-establishes connection with PD leader in asynchronized fashion.

If force is false, it will reconnect only when members change. Note: Retrying too quickly will return an error due to cancellation. Please always try to reconnect after sending the request first.

Auto Trait Implementations

impl !RefUnwindSafe for Client

impl Send for Client

impl Sync for Client

impl Unpin for Client

impl !UnwindSafe for Client

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]