Skip to main content

IssueLog

Struct IssueLog 

Source
pub struct IssueLog { /* private fields */ }
Expand description

Persistent log of Issue records: one canonical-JSON file per issue under <root>/issues/, atomic writes via tempfile + rename, idempotent on re-puts. Mirrors crate::IntentLog.

Implementations§

Source§

impl IssueLog

Source

pub fn open(root: &Path) -> Result<Self>

Source

pub fn put(&self, issue: &Issue) -> Result<()>

Persist an issue. Idempotent on existing ids (content-addressed, so the bytes must match).

Source

pub fn get(&self, id: &IssueId) -> Result<Option<Issue>>

Source

pub fn list_ids(&self) -> Result<Vec<IssueId>>

Every issue id in the log, sorted. Issues can exist before any op references them (open work), so sync moves the whole log rather than only the ids reachable from pushed ops.

Source§

impl IssueLog

Source

pub fn put_proposal(&self, p: &AcceptanceProposal) -> Result<()>

Idempotent, like put.

Source

pub fn get_proposal( &self, id: &ProposalId, ) -> Result<Option<AcceptanceProposal>>

Source

pub fn proposals_for( &self, issue_id: &IssueId, ) -> Result<Vec<AcceptanceProposal>>

Every proposal for issue_id, oldest first.

Auto Trait Implementations§

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.

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

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.