Skip to content

Instantly share code, notes, and snippets.

@sguzunov
Created January 10, 2018 22:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sguzunov/e14548ef5f0e5d2491b54e0c0f277f10 to your computer and use it in GitHub Desktop.
Save sguzunov/e14548ef5f0e5d2491b54e0c0f277f10 to your computer and use it in GitHub Desktop.
public class SenderAgent extends Agent {
protected void setup() {
System.out.println("Hello. My name is " + this.getLocalName());
sendMessage();
}
private void sendMessage() {
AID r = new AID("Peter", AID.ISLOCALNAME);
ACLMessage aclMessage = new ACLMessage(ACLMessage.REQUEST);
aclMessage.addReceiver(r);
aclMessage.setContent("Hello! How are you?");
this.send(aclMessage);
}
}
public class ReceiverAgent extends Agent {
protected void setup() {
System.out.println("Hello. My name is " + this.getLocalName());
addBehaviour(new ResponderBehaviour(this));
}
}
class ResponderBehaviour extends SimpleBehaviour {
private static final MessageTemplate mt = MessageTemplate.MatchPerformative(ACLMessage.REQUEST);
public ResponderBehaviour(Agent agent) {
super(agent);
}
public void action() {
ACLMessage aclMessage = myAgent.receive(mt);
if (aclMessage != null) {
System.out.println(myAgent.getLocalName() + ": I receive message.\n" + aclMessage);
} else {
this.block();
}
}
public boolean done() {
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment