endless.transaction

Members list

Type members

Classlikes

trait BinaryCodec[A] extends Encoder[A], Decoder[A]

Type class for encoding and decoding entity IDs to and from binary

Type class for encoding and decoding entity IDs to and from binary

Attributes

Companion
object
Supertypes
trait Decoder[A]
trait Encoder[A]
class Object
trait Matchable
class Any
object BinaryCodec

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait Branch[F[_], TID, Q, R]

A branch defines behavior for the various phases of the 2PC protocol for a certain transaction type. The branch is responsible for preparing, committing and aborting the transaction. The coordinator instantiates a branch for each transaction and branch ID.

A branch defines behavior for the various phases of the 2PC protocol for a certain transaction type. The branch is responsible for preparing, committing and aborting the transaction. The coordinator instantiates a branch for each transaction and branch ID.

Type parameters

F

the effect type

Q

the query type

R

the abort reason type

TID

the transaction identifier type

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Branch

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Branch.type
trait Coordinator[F[_], TID, BID, Q, R]

A coordinator allows for creating and recovering transactions of a certain type. Internally, it implements the two-phase commit protocol to guarantee a final transaction state of either committed or aborted.

A coordinator allows for creating and recovering transactions of a certain type. Internally, it implements the two-phase commit protocol to guarantee a final transaction state of either committed or aborted.

Type parameters

BID

the branch identifier type

F

the effect type

Q

the query type

R

the abort reason type

TID

the transaction identifier type

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Coordinator

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait StringCodec[A] extends EntityIDCodec[A]

Type class for encoding and decoding entity IDs to and from strings

Type class for encoding and decoding entity IDs to and from strings

Attributes

Companion
object
Supertypes
trait EntityIDCodec[A]
trait EntityIDDecoder[A]
trait EntityIDEncoder[A]
class Object
trait Matchable
class Any
Show all
object StringCodec

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait Transaction[F[_], BID, Q, R]

This defines a handle to a distributed transaction, which can be used to inspect its status, retrieve its query and participating branches and trigger a client abort.

This defines a handle to a distributed transaction, which can be used to inspect its status, retrieve its query and participating branches and trigger a client abort.

Type parameters

BID

the branch identifier type

F

the effect type

Q

the query type

R

the abort reason type

Attributes

Note

Calling any of these methods will lead to transaction recovery. This side-effect can be used to implement resilience logic for pending transactions, if an alternative to remember-entities (enabled by default) is needed. For instance, pending transactions can be tracked in a persistent list and their status updated upon node restart - this will indirectly also ensure that preparation, commit and abort requests are re-issued if the node crashes during the transaction.

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Transaction

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait Transactor[F[_]]

The transactor is the entrypoint provided by the underlying runtime to create distributed transaction coordinators for any type of transaction.

The transactor is the entrypoint provided by the underlying runtime to create distributed transaction coordinators for any type of transaction.

Type parameters

F

the effect type

Attributes

Supertypes
class Object
trait Matchable
class Any