Module itc

Data Types

event()

event() = non_neg_integer() | {non_neg_integer(), event(), event()}

id()

id() = 0 | 1 | {id(), id()}

itc()

itc() = {id(), event()}

Function Index

event/1An event operation adds a new event to the event component, so that if {i, e'} results from event({i, e}) the causal ordering is such that e less than e'.
fork/1The fork operation allows the cloning of the causal past of a stamp, resulting in a pair of stamps that have identical copies of the event component and distinct ids; fork({i, e}) = [{i1 , e}, {i2 , e}] such that i2 /= i1.
join/2This operation merges two stamps, producing a new one.
leq/2Less or equal.
seed/0Initial ITC.

Function Details

event/1

event(X1::itc()) -> itc()

An event operation adds a new event to the event component, so that if {i, e'} results from event({i, e}) the causal ordering is such that e less than e'.

Introduced in: 0.1.0

fork/1

fork(X1::itc()) -> [itc()]

The fork operation allows the cloning of the causal past of a stamp, resulting in a pair of stamps that have identical copies of the event component and distinct ids; fork({i, e}) = [{i1 , e}, {i2 , e}] such that i2 /= i1. Typically, i = i1 and i2 is a new id.

Introduced in: 0.1.0

join/2

join(X1::itc(), X2::itc()) -> itc()

This operation merges two stamps, producing a new one. If join({i1, e1}, {i2, e2}) = {i3, e3}, the resulting event component e3 should be such that leq(e1, e3) and leq(e2, e3).

Introduced in: 0.1.0

leq/2

leq(X1::itc(), X2::itc()) -> boolean()

Less or equal.

Introduced in: 0.1.0

seed/0

seed() -> itc()

Initial ITC.

Introduced in: 0.1.0


Generated by EDoc