'Limits the number of documents returned in one batch. Each batch
requires a round trip to the server. It can be adjusted to optimize
performance and limit data transfer.
.. note:: batch_size can not override MongoDB\'s internal limits on the
amount of data it will return to the client in a single batch (i.e
if you set batch size to 1,000,000,000, MongoDB will currently only
return 4-16MB of results per batch).
Raises :exc:`TypeError` if `batch_size` is not an integer.
Raises :exc:`ValueError` if `batch_size` is less than ``0``.
Raises :exc:`~pymongo.errors.InvalidOperation` if this
:class:`Cursor` has already been used. The last `batch_size`
applied to this cursor takes precedence.
:Parameters:
- `batch_size`: The size of each batch of results requested.'

def batch_size(self, batch_size):

    if (not isinstance(batch_size, integer_types)):
        raise TypeError('batch_size    must    be    an    integer')
    if (batch_size < 0):
        raise ValueError('batch_size    must    be    >=    0')
    self.__check_okay_to_chain()
    self.__batch_size = batch_size
    return self
