Пример #1
0
    def filter(self, message):
        state = True
        
        if self.conversationID != None and self.conversationID != message.conversationID:
            state = False
        
        if self.sender != None and self.sender != message.sender:
            state = False
        
        if self.performative != None and self.performative != message.performative:
            state = False
        
        if self.protocol != None and self.protocol != message.protocol:
            state = False
            
        return state

if __name__ == '__main__':
    message = ACLMessage(ACLMessage.REQUEST)
    message.set_sender(AID('lucas'))
    message.add_receiver('allana')
    message.set_protocol(ACLMessage.FIPA_REQUEST_PROTOCOL)
    
    filtro = Filter()
    filtro.set_protocol(ACLMessage.FIPA_REQUEST_PROTOCOL)
    
    if filtro.filter(message):
        print message.as_xml()
    else:
        print 'A mensagem foi barrada pelo protocolo'
Пример #2
0
 def set_message(self, message_content):
     message = ACLMessage(ACLMessage.INFORM)
     message.add_receiver(AID(BallReceivingWinger))
     message.set_content(message_content)
     self.message = message.as_xml()
Пример #3
0
            state = False

        if self.performative != None and self.performative != message.performative:
            state = False

        if self.protocol != None and self.protocol != message.protocol:
            state = False

        if self.ontology != None and self.ontology != message.ontology:
            state = False

        if self.language != None and self.language != message.language:
            state = False

        return state


if __name__ == '__main__':
    message = ACLMessage(ACLMessage.REQUEST)
    message.set_sender(AID('john'))
    message.add_receiver('mary')
    message.set_protocol(ACLMessage.FIPA_REQUEST_PROTOCOL)

    filtro = Filter()
    filtro.set_protocol(ACLMessage.FIPA_REQUEST_PROTOCOL)

    if filtro.filter(message):
        print(message.as_xml())
    else:
        print('The message was blocked by the protocol.')