• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

2.3 tipc_paxos.pl: A Replicated Data Store
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • Transparent Inter-Process Communications (TIPC) libraries
        • The TIPC libraries: library(tipc/...)
          • tipc_paxos.pl: A Replicated Data Store
            • tipc_paxos_set/1
            • tipc_paxos_set/2
            • tipc_paxos_get/1
            • tipc_paxos_replicate/1
            • tipc_paxos_on_change/2
            • tipc_initialize/0
[semidet]tipc_paxos_set(?Term)
[semidet]tipc_paxos_set(?Term, +Retries)
negotiates to have Term recorded in the ledger for each of the quorum's members. This predicate succeeds if the quorum unanimously accepts the proposed term. If no such entry exists in the Paxon's ledger, then one is silently created. tipc_paxos_set/1 will retry the transaction several times (default: 20) before failing. Failure is rare and is usually the result of a collision of two or more writers writing to the same term at precisely the same time. On failure, it may be useful to wait some random period of time, and then retry the transaction. By specifying a retry count of zero, tipc_paxos_set/2 will succeed iff the first ballot succeeds.

On success, tipc_paxos_set/1 will also broadcast the term paxos_changed(Term), to the quorum.

Term is a compound that may have unbound variables.
Retries (optional) is a non-negative integer specifying the number of retries that will be performed before a set is abandoned.
ClioPatria (version V3.1.1-21-gb8003bb)