':param chunk_index: if a source can be divided into N number of
`chunk_size` sections, this is the index of which section to
return.
:param chunk_size:  how large are the desired chunks to return
(gen. in bytes).'

def __init__(self, source, chunk_index=0, chunk_size=DEFAULT_CHUNK_SIZE, **kwargs):

    super(ChunkDataProvider, self).__init__(source, **kwargs)
    self.chunk_size = int(chunk_size)
    self.chunk_pos = (int(chunk_index) * self.chunk_size)
