Clients must implement a function of this type and pass it in on construction.
Clients must implement a function of this type and pass it in on construction. The function takes a Decision and should perform any operation necessary to handle the decision. Decisions may arrive out of order and multiple times. It is the responsibility of the implementer to handle these cases. Additionally, it is the responsibility of the implementer to reply to client identified by Decision.command.client.
Create Props for a Replica actor.
Create Props for a Replica actor.
The performFun argument must apply the operation, and return true indicating that the operation was successfully performed/acknowledged, or return false indicating that the operation was ignored. When true is returned the initiating actor of this request is sent the RequestPerformed message. It is expected that there is one actor per request. When false is returned no such message is sent. The reason for this is that multiple decisions may arrive for an individual slot. While not absolutely necessary, this helps reduce chatter.
Note this should be called from within a Props factory on Actor creation due to the requirements of Akka.
reference of replica's local {@see Leader}
function specified by com.comcast.xfinity.sirius.api.impl.paxos.Replica.PerformFun, applied to decisions as they arrive
SiriusConfiguration to pass in arbitrary config,
Props for creating this actor, which can then be further configured
(e.g. calling .withDispatcher()
on it)
SiriusConfiguration for more information