def handle(self, request, buffer_size):
        """
        Handle a message
        :param request: the request socket.
        :param buffer_size: the buffer size.
        :return: True if success, False otherwise
        """
        logger = self.logger

        data = self.__receive(request, buffer_size)
        if data is None:
            return False
        else:
            arr = array('B',data)
            for message in split_array(arr,StxEtxHandler.ETX):
                if message[0] == StxEtxHandler.STX:
                    message = message[1:]
                logger.debug(message)
                result = self.handler_function(bytearray(message))
                if self.component_type == StreamComponent.PROCESSOR:
                    if not self.__send(request, result):
                        return False
        return True