def SetRequest(self, reqEl, sId):
        """Incoming request from network layer.

        After receiving a request an answer must be issued to network with
        method SendRequest from pNetworkInterface.

        reqEl - element with request from other owl
        id -- unique id generated by network

        """

        pManager.manager.DebugStr('pRecommendationInterface '+ __version__ +': Got single request from network. Id: '+str(sId), 4)
        request = cRequest.cRequest()
        request.SetElement(reqEl)

        psi = pManager.manager.GetStatisticsInterface()
        lMatchingRules = psi.GetMatches(request.GetUrls())

        if lMatchingRules:
            answer = cAnswer.cAnswer()
            answer.SetRules(lMatchingRules)
            answerEl = answer.GetElement()
            # Get NetworkInterface
            pNetIntf = pManager.manager.GetNetworkInterface()
            # send answer
            pManager.manager.DebugStr('pRecommendationInterface '+ __version__ +': Now sending answer to network. Id: '+str(sId), 4)
            pNetIntf.SendAnswer(answerEl, sId)
            pManager.manager.DebugStr('pRecommendationInterface '+ __version__ +': Finished sending answer to network. Id: '+str(sId), 4)
            self.iNumAnsweredRecommendations = self.iNumAnsweredRecommendations + 1
        else:
            pManager.manager.DebugStr('pRecommendationInterface '+ __version__ +': Dont have answers for request. Id: '+str(sId), 4)
示例#2
0
 def __init__(self):
     """Constructor."""
     self.Request = cRequest.cRequest()