Trait libpijul::pristine::GraphMutTxnT [−][src]
pub trait GraphMutTxnT: GraphTxnT { fn put_internal(
&mut self,
k: &SerializedHash,
e: &ChangeId
) -> Result<bool, TxnErr<Self::GraphError>>; fn del_internal(
&mut self,
k: &SerializedHash,
e: Option<&ChangeId>
) -> Result<bool, TxnErr<Self::GraphError>>; fn put_external(
&mut self,
k: &ChangeId,
e: &SerializedHash
) -> Result<bool, TxnErr<Self::GraphError>>; fn del_external(
&mut self,
k: &ChangeId,
e: Option<&SerializedHash>
) -> Result<bool, TxnErr<Self::GraphError>>; fn put_graph(
&mut self,
channel: &mut Self::Graph,
k: &Vertex<ChangeId>,
v: &SerializedEdge
) -> Result<bool, TxnErr<Self::GraphError>>; fn del_graph(
&mut self,
channel: &mut Self::Graph,
k: &Vertex<ChangeId>,
v: Option<&SerializedEdge>
) -> Result<bool, TxnErr<Self::GraphError>>; fn debug(&mut self, channel: &mut Self::Graph, extra: &str); fn split_block(
&mut self,
graph: &mut Self::Graph,
key: &Vertex<ChangeId>,
pos: ChangePosition,
buf: &mut Vec<SerializedEdge>
) -> Result<(), TxnErr<Self::GraphError>>; }
Required methods
fn put_internal(
&mut self,
k: &SerializedHash,
e: &ChangeId
) -> Result<bool, TxnErr<Self::GraphError>>
fn del_internal(
&mut self,
k: &SerializedHash,
e: Option<&ChangeId>
) -> Result<bool, TxnErr<Self::GraphError>>
fn put_external(
&mut self,
k: &ChangeId,
e: &SerializedHash
) -> Result<bool, TxnErr<Self::GraphError>>
fn del_external(
&mut self,
k: &ChangeId,
e: Option<&SerializedHash>
) -> Result<bool, TxnErr<Self::GraphError>>
fn put_graph(
&mut self,
channel: &mut Self::Graph,
k: &Vertex<ChangeId>,
v: &SerializedEdge
) -> Result<bool, TxnErr<Self::GraphError>>
fn put_graph(
&mut self,
channel: &mut Self::Graph,
k: &Vertex<ChangeId>,
v: &SerializedEdge
) -> Result<bool, TxnErr<Self::GraphError>>
Insert a key and a value to a graph. Returns false
if and only if (k, v)
was already in the graph, in which case no insertion happened.
fn del_graph(
&mut self,
channel: &mut Self::Graph,
k: &Vertex<ChangeId>,
v: Option<&SerializedEdge>
) -> Result<bool, TxnErr<Self::GraphError>>
fn del_graph(
&mut self,
channel: &mut Self::Graph,
k: &Vertex<ChangeId>,
v: Option<&SerializedEdge>
) -> Result<bool, TxnErr<Self::GraphError>>
Delete a key and a value from a graph. Returns true
if and only if (k, v)
was in the graph.
fn split_block(
&mut self,
graph: &mut Self::Graph,
key: &Vertex<ChangeId>,
pos: ChangePosition,
buf: &mut Vec<SerializedEdge>
) -> Result<(), TxnErr<Self::GraphError>>
fn split_block(
&mut self,
graph: &mut Self::Graph,
key: &Vertex<ChangeId>,
pos: ChangePosition,
buf: &mut Vec<SerializedEdge>
) -> Result<(), TxnErr<Self::GraphError>>
Split a key [a, b[
at position pos
, yielding two keys [a, pos[
and [pos, b[
linked by an edge.