예제 #1
0
    def handle(self, connection_id, message_content):
        set_request = state_context_pb2.TpStateSetRequest()
        set_request.ParseFromString(message_content)
        set_values_list = [{e.address: e.data} for e in set_request.entries]
        try:
            return_value = self._context_manager.set(set_request.context_id,
                                                     set_values_list)
        except AuthorizationException:
            response = \
                state_context_pb2.TpStateSetResponse(
                    status=state_context_pb2.
                    TpStateSetResponse.AUTHORIZATION_ERROR)
            return HandlerResult(HandlerStatus.RETURN, response,
                                 validator_pb2.Message.TP_STATE_SET_RESPONSE)

        response = state_context_pb2.TpStateSetResponse(
            status=state_context_pb2.TpStateSetResponse.OK)
        if return_value is True:
            address_list = [e.address for e in set_request.entries]
            LOGGER.debug("SET: %s", address_list)
            response.addresses.extend(address_list)
        else:
            LOGGER.debug("SET: No Values Set")
            response.addresses.extend([])
        return HandlerResult(HandlerStatus.RETURN, response,
                             validator_pb2.Message.TP_STATE_SET_RESPONSE)
예제 #2
0
 def handle(self, identity, message_content):
     set_request = state_context_pb2.TpStateSetRequest()
     set_request.ParseFromString(message_content)
     set_values_list = [{e.address: e.data} for e in set_request.entries]
     return_value = self._context_manager.set(set_request.context_id,
                                              set_values_list)
     response = state_context_pb2.TpStateSetResponse()
     if return_value is True:
         address_list = [e.address for e in set_request.entries]
         LOGGER.debug("SET: %s", address_list)
         response.addresses.extend(address_list)
     else:
         LOGGER.debug("SET: No Values Set")
         response.addresses.extend([])
     return HandlerResult(HandlerStatus.RETURN, response,
                          validator_pb2.Message.TP_STATE_SET_RESPONSE)
예제 #3
0
 def handle(self, message, responder):
     set_request = state_context_pb2.TpStateSetRequest()
     set_request.ParseFromString(message.content)
     set_values_list = [{e.address: e.data} for e in set_request.entries]
     return_value = self._context_manager.set(set_request.context_id,
                                              set_values_list)
     response = state_context_pb2.TpStateSetResponse()
     if return_value is True:
         address_list = [e.address for e in set_request.entries]
         response.addresses.extend(address_list)
         responder.send(message=validator_pb2.Message(
             sender=message.sender,
             correlation_id=message.correlation_id,
             message_type=Message.TP_STATE_SET_RESPONSE,
             content=response.SerializeToString()))
     else:
         response.addresses.extend([])
         responder.send(message=validator_pb2.Message(
             sender=message.sender,
             correlation_id=message.correlation_id,
             message_type=Message.TP_STATE_SET_RESPONSE,
             content=response.SerializeToString()))