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>,
}
Expand description

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

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

DEPRECATED. Use payload instead.

Implementations§

source§

impl Lease

source

pub fn state(&self) -> LeaseState

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

source

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

Sets state to the provided enum value.

Trait Implementations§

source§

impl Clone for Lease

source§

fn clone(&self) -> Lease

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Lease

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Lease

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for Lease

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for Lease

source§

fn eq(&self, other: &Lease) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Lease

Auto Trait Implementations§

§

impl Freeze for Lease

§

impl RefUnwindSafe for Lease

§

impl Send for Lease

§

impl Sync for Lease

§

impl Unpin for Lease

§

impl UnwindSafe for Lease

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.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

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

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

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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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>,

§

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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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