pub enum TaskMsg {
CreateWorktree(u64, Result<CreateWorktreeResult, String>),
RefreshWorktrees(u64, Result<Vec<WorktreeInfo>, String>),
GithubIssue(u64, u64, Result<IssueStatus, String>),
GithubPr(u64, u64, Result<PrStatus, String>),
Sync(u64, String, Result<SyncReport, String>),
Bootstrap(u64, Result<BootstrapReport, String>),
DeleteWorktree(u64, String, String, Result<(), String>),
Pull(u64, String, Result<String, String>),
Push(u64, String, Result<String, String>),
EditWorktree(u64, Result<EditWorktreeResult, String>),
}Expand description
Result of an off-thread task, posted from a worker thread back to the
event loop over App’s task channel (issue #231). Carries owned,
Send data only (no git2::Repository crosses the thread boundary)
plus the generation the worker was spawned with, so
TaskRunner::complete can drop a superseded late result.
Variants§
CreateWorktree(u64, Result<CreateWorktreeResult, String>)
A create-worktree result (issue #276): the worker’s generation and the
created worktree + bootstrap report, or a stringified failure from naming,
libgit2 worktree creation, or bootstrap.
RefreshWorktrees(u64, Result<Vec<WorktreeInfo>, String>)
A worktree list refresh result: the freshly-listed worktrees, or a
stringified error from the off-thread discover_repo + list.
GithubIssue(u64, u64, Result<IssueStatus, String>)
A gh issue view result (issue #255): the worker’s generation, the
issue number it fetched, and the parsed IssueStatus (or a
stringified error). The generation lets TaskRunner::complete drop a
stale worker’s result; the number keys it back into the GitHub cache.
GithubPr(u64, u64, Result<PrStatus, String>)
PR-side counterpart to Self::GithubIssue (gh pr view).
Sync(u64, String, Result<SyncReport, String>)
A gwm sync result (issue #258): the worker’s generation, the synced
worktree’s display name (for the status line), and the SyncReport
(or a stringified error — dirty tree, no upstream, conflicts).
Bootstrap(u64, Result<BootstrapReport, String>)
A bootstrap result (issue #256): the worker’s generation and the
BootstrapReport (or a stringified error). On a live generation the
drain sets App::report and flips to View::Report; a superseded
late result is dropped by TaskRunner::complete.
DeleteWorktree(u64, String, String, Result<(), String>)
A delete-worktree result (issue #257): the worker’s generation, the deleted worktree’s display name + path label for the status line, and the deletion outcome.
Pull(u64, String, Result<String, String>)
A git pull result (#290): the worker’s generation, the worktree’s
display name, and the outcome (a one-line status string on success or
a stringified error).
Push(u64, String, Result<String, String>)
A git push result (#290): same shape as Self::Pull.
EditWorktree(u64, Result<EditWorktreeResult, String>)
An edit-worktree result (c, #290): the worker’s generation and the
rename outcome (new branch/path/name on success, or a stringified error
from git branch -m / git push / git worktree move).
Auto Trait Implementations§
impl Freeze for TaskMsg
impl RefUnwindSafe for TaskMsg
impl Send for TaskMsg
impl Sync for TaskMsg
impl Unpin for TaskMsg
impl UnsafeUnpin for TaskMsg
impl UnwindSafe for TaskMsg
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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>
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>
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 more