Abstractions

All definitions make use of the following type parameters:

  • F[_]: abstract effectful context F encapsulating all values, e.g. IO[Boolean]
  • BID: the branch identifier type, requiring an instance of BinaryCodec for serialization of the identifier in protobuf messages and events and Show for the built-in logging.
  • TID: the transaction identifier type, requiring an instance of BinaryCodec for serialization of the identifier in protobuf messages and events and StringCodec as an entity identifier (this is also used for the built-in logging).
  • Q: the query type (the payload sent to branches), requiring an instance of BinaryCodec for serialization in protobuf messages and events.
  • R: the abort reason type (provided by branches when voting for transaction abort), requiring an instance of BinaryCodec for serialization in protobuf messages and events.