Struct gapi_grpc::google::devtools::remoteworkers::v1test2::bots_client::BotsClient[][src]

pub struct BotsClient<T> { /* fields omitted */ }

Design doc: https://goo.gl/oojM5H

Loosely speaking, the Bots interface monitors a collection of workers (think of them as “computers” for a moment). This collection is known as a “farm,” and its purpose is to perform work on behalf of a client.

Each worker runs a small program known as a “bot” that allows it to be controlled by the server. This interface contains only methods that are called by the bots themselves; admin functionality is out of scope for this interface.

More precisely, we use the term “worker” to refer to the physical “thing” running the bot. We use the term “worker,” and not “machine” or “computer,” since a worker may consist of more than one machine - e.g., a computer with multiple attached devices, or even a cluster of computers, with only one of them running the bot. Conversely, a single machine may host several bots, in which case each bot has a “worker” corresponding to the slice of the machine being managed by that bot.

The main resource in the Bots interface is not, surprisingly, a Bot - it is a BotSession, which represents a period of time in which a bot is in continuous contact with the server (see the BotSession message for more information). The parent of a bot session can be thought of as an instance of a farm. That is, one endpoint may be able to manage many farms for many users. For example, for a farm managed through GCP, the parent resource will typically take the form “projects/{project_id}”. This is referred to below as “the farm resource.”

Implementations

impl BotsClient<Channel>[src]

pub async fn connect<D>(dst: D) -> Result<Self, Error> where
    D: TryInto<Endpoint>,
    D::Error: Into<StdError>, 
[src]

Attempt to create a new client by connecting to a given endpoint.

impl<T> BotsClient<T> where
    T: GrpcService<BoxBody>,
    T::ResponseBody: Body + HttpBody + Send + 'static,
    T::Error: Into<StdError>,
    <T::ResponseBody as HttpBody>::Error: Into<StdError> + Send
[src]

pub fn new(inner: T) -> Self[src]

pub fn with_interceptor(inner: T, interceptor: impl Into<Interceptor>) -> Self[src]

pub async fn create_bot_session(
    &mut self,
    request: impl IntoRequest<CreateBotSessionRequest>
) -> Result<Response<BotSession>, Status>
[src]

CreateBotSession is called when the bot first joins the farm, and establishes a session ID to ensure that multiple machines do not register using the same name accidentally.

pub async fn update_bot_session(
    &mut self,
    request: impl IntoRequest<UpdateBotSessionRequest>
) -> Result<Response<BotSession>, Status>
[src]

UpdateBotSession must be called periodically by the bot (on a schedule determined by the server) to let the server know about its status, and to pick up new lease requests from the server.

Trait Implementations

impl<T: Clone> Clone for BotsClient<T>[src]

impl<T> Debug for BotsClient<T>[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for BotsClient<T>

impl<T> Send for BotsClient<T> where
    T: Send

impl<T> Sync for BotsClient<T> where
    T: Sync

impl<T> Unpin for BotsClient<T> where
    T: Unpin

impl<T> !UnwindSafe for BotsClient<T>

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> Instrument for T[src]

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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]

impl<T> WithSubscriber for T[src]