diff options
author | INADA Naoki <songofacandy@gmail.com> | 2012-07-20 02:05:43 +0900 |
---|---|---|
committer | INADA Naoki <songofacandy@gmail.com> | 2012-07-20 02:05:43 +0900 |
commit | 59c8b51e5b3df8322bc4d2f639bcafd6a25eecaf (patch) | |
tree | aa23e7e79c989607e630a635ac667f2af1c93acd | |
parent | 53ca2bb648d423462b970493b8ed63cdaf70afe4 (diff) | |
download | msgpack-python-59c8b51e5b3df8322bc4d2f639bcafd6a25eecaf.tar.gz |
Default value of read_size is min(1024**2, max_buffer_size)
-rw-r--r-- | msgpack/_msgpack.pyx | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/msgpack/_msgpack.pyx b/msgpack/_msgpack.pyx index 00d6d90..ebf1592 100644 --- a/msgpack/_msgpack.pyx +++ b/msgpack/_msgpack.pyx @@ -267,13 +267,13 @@ def unpack(object stream, object object_hook=None, object list_hook=None, cdef class Unpacker(object): """ Streaming unpacker. - read_size is used like file_like.read(read_size) `file_like` is a file-like object having `.read(n)` method. When `Unpacker` initialized with `file_like`, unpacker reads serialized data from it and `.feed()` method is not usable. - `read_size` is used as `file_like.read(read_size)`. (default: 1024**2) + `read_size` is used as `file_like.read(read_size)`. + (default: min(1024**2, max_buffer_size)) If `use_list` is true, msgpack list is deserialized to Python list. Otherwise, it is deserialized to Python tuple. (default: False) @@ -329,7 +329,7 @@ cdef class Unpacker(object): free(self.buf) self.buf = NULL - def __init__(self, file_like=None, Py_ssize_t read_size=1024*1024, bint use_list=0, + def __init__(self, file_like=None, Py_ssize_t read_size=0, bint use_list=0, object object_hook=None, object list_hook=None, encoding=None, unicode_errors='strict', int max_buffer_size=0): self.use_list = use_list @@ -340,6 +340,8 @@ cdef class Unpacker(object): raise ValueError("`file_like.read` must be a callable.") if not max_buffer_size: max_buffer_size = INT_MAX + if not read_size: + read_size = min(max_buffer_size, 1024**2) self.max_buffer_size = max_buffer_size if read_size > max_buffer_size: raise ValueError("read_size should be less or equal to max_buffer_size") |