Newer
Older
\section{ActionCommitDistributedCommitedTransfer}
If a client has to commit the given changes, it will perform the
transaction on the amounts map. Otherwise it will just print an abort
transaction message.
\\
\begin{lstlisting}
protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context,
Wallet wallet) {
log("ActionCommitDistributedCommitedTransfer is granted?"+granted);
if(granted){
Integer sourceAmount = wallet.amounts.getOrDefault(source,0);
Integer targetAmount = wallet.amounts.getOrDefault(target,0);
wallet.amounts.put(source,sourceAmount-amount);
wallet.amounts.put(target,targetAmount+amount);
if(source.compareTo(self)==0)
wallet.amount-=amount;
else if(target.compareTo(self)==0)
wallet.amount+=amount;
wallet.log("have now "+wallet.amounts.get(self)+" Fucoins");
}else{
log("abort transaction with id"+id);
}
log("wallet.amounts:"+wallet.amounts);
}
\end{lstlisting}