def setup(self): self.web.start(templates_path="examples") template1 = Template(sender="agent0@fake_server") template2 = Template(sender="agent1@fake_server") template3 = Template(sender="agent2@fake_server") template4 = Template(sender="agent3@fake_server") # Create some dummy behaviours dummybehav = self.DummyBehav() self.add_behaviour(dummybehav, template=template1) periodbehav = self.DummyPeriodBehav(period=12.7) self.add_behaviour(periodbehav, template=template2) timeoutbehav = self.DummyTimeoutBehav(start_at=datetime.datetime.now()) self.add_behaviour(timeoutbehav, template=template3) fsm_behav = self.DummyFSMBehav() self.add_behaviour(fsm_behav, template=template4) behavs = [dummybehav, periodbehav, timeoutbehav, fsm_behav] # Create some fake contacts self.add_fake_contact("agent0@fake_server", PresenceType.AVAILABLE) self.add_fake_contact("agent1@fake_server", PresenceType.AVAILABLE, show=PresenceShow.AWAY) self.add_fake_contact( "agent2@fake_server", PresenceType.AVAILABLE, show=PresenceShow.DO_NOT_DISTURB, ) self.add_fake_contact("agent3@fake_server", PresenceType.UNAVAILABLE) self.add_fake_contact("agent4@fake_server", PresenceType.AVAILABLE, show=PresenceShow.CHAT) self.add_fake_contact("agent5@fake_server", PresenceType.UNAVAILABLE) # Send and Receive some fake messages self.traces.reset() for i in range(20): number = random.randint(0, 3) from_ = JID.fromstr("agent{}@fake_server".format(number)) msg = aioxmpp.Message(from_=from_, to=self.jid, type_=MessageType.CHAT) msg.body[None] = "Hello from {}! This is a long message.".format( from_.localpart) msg = Message.from_node(msg) msg.metadata = { "performative": "inform", "acl-representation": "xml" } msg = msg.prepare() self._message_received(msg=msg) msg = Message(sender=str(self.jid), to=str(from_), body="This is my answer.") msg.sent = True self.traces.append(msg, category=str(behavs[number]))
async def send_agent(self, request): agent_jid = request.match_info['agentjid'] form = await request.post() body = form["message"] logger.info("Sending message to {}: {}".format(agent_jid, body)) msg = Message(to=agent_jid, sender=str(self.agent.jid), body=body) aioxmpp_msg = msg.prepare() await self.agent.stream.send(aioxmpp_msg) msg.sent = True self.agent.traces.append(msg) raise aioweb.HTTPFound("/agent/{agentjid}/".format(agentjid=agent_jid))
async def send_agent(self, request): agent_jid = request.match_info['agentjid'] form = await request.post() body = form["message"] logger.info("Sending message to {}: {}".format(agent_jid, body)) msg = Message(to=agent_jid, sender=str(self.agent.jid), body=body) aioxmpp_msg = msg.prepare() await self.agent.stream.send(aioxmpp_msg) msg.sent = True self.agent.traces.append(msg) raise aioweb.HTTPFound("/spade/agent/{agentjid}/".format(agentjid=agent_jid))
async def send(self, msg: Message): """ Sends a message. Args: msg (spade.message.Message): the message to be sent. """ if not msg.sender: msg.sender = str(self.jid) logger.debug(f"Adding artifact's jid as sender to message: {msg}") aioxmpp_msg = msg.prepare() await self.client.send(aioxmpp_msg) msg.sent = True
def setup(self): self.web.start(templates_path="examples") template1 = Template(sender="agent0@fake_server") template2 = Template(sender="agent1@fake_server") template3 = Template(sender="agent2@fake_server") template4 = Template(sender="agent3@fake_server") # Create some dummy behaviours dummybehav = self.DummyBehav() self.add_behaviour(dummybehav, template=template1) periodbehav = self.DummyPeriodBehav(period=12.7) self.add_behaviour(periodbehav, template=template2) timeoutbehav = self.DummyTimeoutBehav(start_at=datetime.datetime.now()) self.add_behaviour(timeoutbehav, template=template3) fsm_behav = self.DummyFSMBehav() self.add_behaviour(fsm_behav, template=template4) behavs = [dummybehav, periodbehav, timeoutbehav, fsm_behav] # Create some fake contacts self.add_fake_contact("agent0@fake_server", PresenceType.AVAILABLE) self.add_fake_contact("agent1@fake_server", PresenceType.AVAILABLE, show=PresenceShow.AWAY) self.add_fake_contact("agent2@fake_server", PresenceType.AVAILABLE, show=PresenceShow.DO_NOT_DISTURB) self.add_fake_contact("agent3@fake_server", PresenceType.UNAVAILABLE) self.add_fake_contact("agent4@fake_server", PresenceType.AVAILABLE, show=PresenceShow.CHAT) self.add_fake_contact("agent5@fake_server", PresenceType.UNAVAILABLE) # Send and Receive some fake messages self.traces.reset() for i in range(20): number = random.randint(0, 3) from_ = JID.fromstr("agent{}@fake_server".format(number)) msg = aioxmpp.Message(from_=from_, to=self.jid, type_=MessageType.CHAT) msg.body[None] = "Hello from {}! This is a long message.".format(from_.localpart) msg = Message.from_node(msg) msg.metadata = {"performative": "inform", "acl-representation": "xml"} msg = msg.prepare() self._message_received(msg=msg) msg = Message(sender=str(self.jid), to=str(from_), body="This is my answer.") msg.sent = True self.traces.append(msg, category=str(behavs[number]))