Struct gapi_grpc::google::devtools::remoteworkers::v1test2::Lease[][src]

pub struct Lease {
    pub id: String,
    pub payload: Option<Any>,
    pub result: Option<Any>,
    pub state: i32,
    pub status: Option<Status>,
    pub requirements: Option<Worker>,
    pub expire_time: Option<Timestamp>,
    pub assignment: String,
    pub inline_assignment: Option<Any>,
}

A Lease is a lease that the scheduler has assigned to this bot. If the bot notices (by UpdateBotSession) that it has any leases in the PENDING state, it should call UpdateBotSession to put the leases into the ACTIVE state and start executing their assignments.

All fields in this message are output-only, except the state and status fields. Note that repeated fields can only be updated as a unit, so on every update the bot must provide an update for all the leases the server expects it to report on.

The scheduler should ensure that all leases scheduled to a bot can actually be accepted, but race conditions may occur. In such cases, the bot should attempt to accept the leases in the order they are listed by the server, to allow the server to control priorities.

The server will remove COMPLETED leases from time to time, after which the bot shouldn’t report on them any more (the server will ignore superfluous COMPLETED records).

Fields

id: String

A short string uniquely identifing the lease within this bot session.

payload: Option<Any>

The actual work to be performed, if any. May be omitted by the server if the lease is not in the PENDING state. The message must be meaningful to the bot. Output only (must only be set by the server).

result: Option<Any>

Any result the bot wishes to provide about the lease. Must not be changed after the first call with the lease in the COMPLETED or CANCELLED state. Input only (must only be set by the bot, will not be echoed by the server).

state: i32

The state of the lease. See LeaseState for more information.

status: Option<Status>

The final status of the lease (should be populated by the bot if the state is completed). This is the status of the lease, not of any task represented by the lease. For example, if the bot could not accept the lease because it asked for some resource the bot didn’t have, this status will be FAILED_PRECONDITION. But if the assignment in the lease didn’t execute correctly, this field will be OK while the failure of the assignment must communicated via the result field.

requirements: Option<Worker>

The requirements that are being claimed by this lease. This field may be omitted by the server if the lease is not pending.

expire_time: Option<Timestamp>

The time at which this lease expires. The server may extend this over time, but due to race conditions, the bot is not required to respect any expiry date except the first one.

assignment: String

DEPRECATED. The assignment should be provided to the bot via the payload field. Clients that wish to use a simple name (such as a queue of work provided elsewhere) should define a custom message type and encode it into payload.

inline_assignment: Option<Any>

DEPRECATED. Use payload instead.

Implementations

impl Lease[src]

pub fn state(&self) -> LeaseState[src]

Returns the enum value of state, or the default if the field is set to an invalid enum value.

pub fn set_state(&mut self, value: LeaseState)[src]

Sets state to the provided enum value.

Trait Implementations

impl Clone for Lease[src]

impl Debug for Lease[src]

impl Default for Lease[src]

impl Message for Lease[src]

impl PartialEq<Lease> for Lease[src]

impl StructuralPartialEq for Lease[src]

Auto Trait Implementations

impl RefUnwindSafe for Lease

impl Send for Lease

impl Sync for Lease

impl Unpin for Lease

impl UnwindSafe for Lease

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]