BasicAgentInfo recipient = (BasicAgentInfo)this.agentInfos.get(m.getRecipient());
// no local address
if(recipient == null)
{
Message m2 = MessagingManager.getInstance().createMessage();
m2.setSender("local:"+HOST_ADDRESS);
m2.setRecipient(m.getSender());
m2.setBody("MESSAGESERVICE\nFAILED\n"+m.getMessageID()+"\nRECIPIENT UNKNOWN");
m2.setRequiresReceipt(false);
this.sendMessage(m2);
return;
}
try
{
recipient.getMessageList().addMessage(m);
}
catch (MessageListFullException e)
{
// could not append to message-list
Message m2 = MessagingManager.getInstance().createMessage();
m2.setSender("local:"+HOST_ADDRESS);
m2.setRecipient(m.getSender());
m2.setBody("MESSAGESERVICE\nFAILED\n"+m.getMessageID()+"\nMESSAGELIST FULL");
m2.setRequiresReceipt(false);
}
}
if(m.getRequiresReceipt())
{
Message receipt = MessagingManager.getInstance().createMessage();
receipt.setSender("local:"+HOST_ADDRESS);
receipt.setRecipient(m.getSender());
receipt.setBody("MESSAGESERVICE\nSENT\n"+m.getMessageID());
receipt.setRequiresReceipt(false);
// no security check here:
// we're host, so we may do everything
this.sendMessage(receipt);
}