diff --git a/Interface/AbstractWallet.java b/Interface/AbstractWallet.java index 1cc3a4326949fdc786b5adf1bf767daec6a3fbaa..d4327bcc19f25a84a8feb5d32173d2577c6070d2 100644 --- a/Interface/AbstractWallet.java +++ b/Interface/AbstractWallet.java @@ -5,9 +5,11 @@ import java.io.Serializable; public abstract class AbstractWallet extends UntypedActor implements Serializable { - // Returns some neighbors that might be used as local - // and/or local neighborsUntypedActor + // Used to join the network (a pre known participant/Wallet must be known) public static class ActionJoin implements Serializable {} + + // Returns some neighbors that might be used as known + // and/or local neighbors public class ActionJoinAnswer implements Serializable { public final HashMap<String, ActorRef> someNeighbors = new HashMap<>(); } @@ -45,16 +47,21 @@ public abstract class AbstractWallet extends UntypedActor implements Serializabl } } - // Used to return a Wallet + // Used to return a Wallet reference (akka-style string which can + // be transformed to an ActorRef) public static class ActionSearchWalletReferenceAnswer implements Serializable { - final AbstractWallet w; - public ActionSearchWalletReferenceAnswer(AbstractWallet w) { - this.w = w; + final String address; + public ActionSearchWalletReferenceAnswer(String address) { + this.address = address; } } // Used to search a Wallet by name, i.e. the own wallet if we just - // joined the network + // joined the network; If a receiving participant holds the stored Wallet, + // he returns it, otherwise, he might use gossiping methods to go on + // with the search; + // Note: You should also forward the sender (the participant who actually + // searches for this Wallet, so that it can be returnd the direct way) public static class ActionSearchMyWallet implements Serializable { final String name; public ActionSearchMyWallet(String name) { @@ -62,6 +69,14 @@ public abstract class AbstractWallet extends UntypedActor implements Serializabl } } + // Used to return a searched Wallet + public static class ActionSearchMyWalletAnswer implements Serializable { + final AbstractWallet w; + public ActionSearchMyWalletAnswer(AbstractWallet w) { + this.w = w; + } + } + // Constructor public AbstractWallet(String name) { this.name = name;