From: Brian Warner Date: Tue, 28 Jul 2015 20:01:15 +0000 (-0700) Subject: IReadable.read(): document out-of-range errors X-Git-Tag: allmydata-tahoe-1.10.2b1~7 X-Git-Url: https://git.rkrishnan.org/specifications/%5B/%5D%20/flags/install.html?a=commitdiff_plain;h=6252a72965e7fa4c23e5d9fe62f60f91cee2fc14;p=tahoe-lafs%2Ftahoe-lafs.git IReadable.read(): document out-of-range errors closes ticket#2461 --- diff --git a/src/allmydata/interfaces.py b/src/allmydata/interfaces.py index ded8ffb2..e495c759 100644 --- a/src/allmydata/interfaces.py +++ b/src/allmydata/interfaces.py @@ -665,7 +665,10 @@ class IReadable(Interface): the last byte has been given to it, or because the consumer threw an exception during write(), possibly because it no longer wants to receive data). The portion downloaded will start at 'offset' and - contain 'size' bytes (or the remainder of the file if size==None). + contain 'size' bytes (or the remainder of the file if size==None). It + is an error to read beyond the end of the file: callers must use + get_size() and clip any non-default offset= and size= parameters. It + is permissible to read zero bytes. The consumer will be used in non-streaming mode: an IPullProducer will be attached to it.