pub struct Decision { /* private fields */ }Expand description
Terminal verdict of a Run.
Created once per Run at the end of execution. See module documentation for lifecycle position, decision type semantics, and Libra calling guidance.
Implementations§
Source§impl Decision
impl Decision
Sourcepub fn new(
created_by: ActorRef,
run_id: Uuid,
decision_type: impl Into<DecisionType>,
) -> Result<Self, String>
pub fn new( created_by: ActorRef, run_id: Uuid, decision_type: impl Into<DecisionType>, ) -> Result<Self, String>
Create a new terminal decision for the given run.
Sourcepub fn decision_type(&self) -> &DecisionType
pub fn decision_type(&self) -> &DecisionType
Return the decision type.
Sourcepub fn chosen_patchset_id(&self) -> Option<Uuid>
pub fn chosen_patchset_id(&self) -> Option<Uuid>
Return the chosen patchset id, if any.
Sourcepub fn result_commit_sha(&self) -> Option<&IntegrityHash>
pub fn result_commit_sha(&self) -> Option<&IntegrityHash>
Return the resulting repository commit hash, if any.
Sourcepub fn checkpoint_id(&self) -> Option<&str>
pub fn checkpoint_id(&self) -> Option<&str>
Return the checkpoint id, if any.
Sourcepub fn set_chosen_patchset_id(&mut self, chosen_patchset_id: Option<Uuid>)
pub fn set_chosen_patchset_id(&mut self, chosen_patchset_id: Option<Uuid>)
Set or clear the chosen patchset id.
Sourcepub fn set_result_commit_sha(
&mut self,
result_commit_sha: Option<IntegrityHash>,
)
pub fn set_result_commit_sha( &mut self, result_commit_sha: Option<IntegrityHash>, )
Set or clear the resulting repository commit hash.
Sourcepub fn set_checkpoint_id(&mut self, checkpoint_id: Option<String>)
pub fn set_checkpoint_id(&mut self, checkpoint_id: Option<String>)
Set or clear the checkpoint id.
Sourcepub fn set_rationale(&mut self, rationale: Option<String>)
pub fn set_rationale(&mut self, rationale: Option<String>)
Set or clear the human-readable rationale.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Decision
impl<'de> Deserialize<'de> for Decision
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl ObjectTrait for Decision
impl ObjectTrait for Decision
Source§fn from_bytes(data: &[u8], _hash: ObjectHash) -> Result<Self, GitError>where
Self: Sized,
fn from_bytes(data: &[u8], _hash: ObjectHash) -> Result<Self, GitError>where
Self: Sized,
Creates a new object from a byte slice.
Source§fn get_type(&self) -> ObjectType
fn get_type(&self) -> ObjectType
Returns the type of the object.
fn get_size(&self) -> usize
fn to_data(&self) -> Result<Vec<u8>, GitError>
Source§fn from_buf_read<R: BufRead>(read: &mut ReadBoxed<R>, size: usize) -> Selfwhere
Self: Sized,
fn from_buf_read<R: BufRead>(read: &mut ReadBoxed<R>, size: usize) -> Selfwhere
Self: Sized,
Generate a new Object from a
ReadBoxed<BufRead>.
the input size,is only for new a vec with directive space allocation
the input data stream and output object should be plain base object .fn object_hash(&self) -> Result<ObjectHash, GitError>
Auto Trait Implementations§
impl Freeze for Decision
impl RefUnwindSafe for Decision
impl Send for Decision
impl Sync for Decision
impl Unpin for Decision
impl UnsafeUnpin for Decision
impl UnwindSafe for Decision
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FileLoadStore for Twhere
T: Serialize + for<'a> Deserialize<'a>,
impl<T> FileLoadStore for Twhere
T: Serialize + for<'a> Deserialize<'a>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ValueSize for T
impl<T> ValueSize for T
Source§fn value_size(&self) -> usize
fn value_size(&self) -> usize
The size of this value in bytes, excluding allocated data. Read more
Source§fn value_size_sum_iter<'item>(iterator: impl Iterator<Item = &'item T>) -> usizewhere
T: 'item,
fn value_size_sum_iter<'item>(iterator: impl Iterator<Item = &'item T>) -> usizewhere
T: 'item,
The total sum of the sizes of all values in the given iterator, in
bytes. This is default-implemented by computing ValueSize::value_size
on every element and summing them. For Sized types, a more potentially
efficient implementation using Iterator::count is provided. If you are
implementing this trait manually, it is unlikely to be more efficient to
provide a manual implementation here. Read more
Source§fn value_size_sum_exact_size_iter<'item>(
iterator: impl ExactSizeIterator<Item = &'item T>,
) -> usizewhere
T: 'item,
fn value_size_sum_exact_size_iter<'item>(
iterator: impl ExactSizeIterator<Item = &'item T>,
) -> usizewhere
T: 'item,
The total sum of the sizes of all values in the given
exact-size-iterator, in bytes. This is default-implemented by using
ValueSize::value_size_sum_iter. For Sized types, a usually more
efficient implementation using ExactSizeIterator::len is provided. If
you are implementing this trait manually, it is unlikely to be more
efficient to provide a manual implementation here. Read more