def list_command_history(self, command=None, start=None, stop=None,
                             page_size=500, descending=False):
        """
        Reads command history entries between the specified start and stop time.

        :param str command: Either a fully-qualified XTCE name or an alias in the
                            format ``NAMESPACE/NAME``.
        :param ~datetime.datetime start: Minimum generation time of the returned
                                         command history entries (inclusive)
        :param ~datetime.datetime stop: Maximum generation time of the returned
                                        command history entries (exclusive)
        :param int page_size: Page size of underlying requests. Higher values imply
                              less overhead, but risk hitting the maximum message size limit.
        :param bool descending: If set to ``True`` results are fetched in reverse
                                order (most recent first).
        :rtype: ~collections.Iterable[.CommandHistory]
        """
        params = {
            'order': 'desc' if descending else 'asc',
        }
        if page_size is not None:
            params['limit'] = page_size
        if start is not None:
            params['start'] = to_isostring(start)
        if stop is not None:
            params['stop'] = to_isostring(stop)

        if command:
            path = '/archive/{}/commands{}'.format(self._instance, command)
        else:
            path = '/archive/{}/commands'.format(self._instance)

        return pagination.Iterator(
            client=self._client,
            path=path,
            params=params,
            response_class=rest_pb2.ListCommandsResponse,
            items_key='entry',
            item_mapper=CommandHistory,
        )
Reads command history entries between the specified start and stop time.

        :param str command: Either a fully-qualified XTCE name or an alias in the
                            format ``NAMESPACE/NAME``.
        :param ~datetime.datetime start: Minimum generation time of the returned
                                         command history entries (inclusive)
        :param ~datetime.datetime stop: Maximum generation time of the returned
                                        command history entries (exclusive)
        :param int page_size: Page size of underlying requests. Higher values imply
                              less overhead, but risk hitting the maximum message size limit.
        :param bool descending: If set to ``True`` results are fetched in reverse
                                order (most recent first).
        :rtype: ~collections.Iterable[.CommandHistory]