summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorFrank Stein <dr.frank.stain@gmail.com>2015-08-07 21:19:02 +0300
committerFrank Stein <dr.frank.stain@gmail.com>2015-08-07 21:19:02 +0300
commit7bcbb19569809123a14d64a0ca975a4ca5876fd8 (patch)
treea534507bbc93b6c0e89039ad25005ad1811b2560 /python
parenta1d801c37558ffee1c1baffe5c5b2ecf01eb24b4 (diff)
downloadflatbuffers-7bcbb19569809123a14d64a0ca975a4ca5876fd8.tar.gz
flatbuffers-7bcbb19569809123a14d64a0ca975a4ca5876fd8.tar.bz2
flatbuffers-7bcbb19569809123a14d64a0ca975a4ca5876fd8.zip
MaxBufferSize() changed to MAX_BUFFER_SIZE. Also buffer will never grow more MAX_BUFFER_SIZE.
Diffstat (limited to 'python')
-rw-r--r--python/flatbuffers/builder.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/python/flatbuffers/builder.py b/python/flatbuffers/builder.py
index 4c78d7a6..d59d8c4c 100644
--- a/python/flatbuffers/builder.py
+++ b/python/flatbuffers/builder.py
@@ -87,13 +87,20 @@ class Builder(object):
__slots__ = ("Bytes", "current_vtable", "head", "minalign", "objectEnd",
"vtables")
+ """
+ Maximum buffer size constant, in bytes.
+ Builder will never allow it's buffer grow over this size.
+ Currently equals 2Gb.
+ """
+ MAX_BUFFER_SIZE = 2**31
+
def __init__(self, initialSize):
"""
Initializes a Builder of size `initial_size`.
The internal buffer is grown as needed.
"""
- if not (0 <= initialSize <= self.MaxBufferSize()):
+ if not (0 <= initialSize <= Builder.MAX_BUFFER_SIZE):
msg = "flatbuffers: Cannot create Builder larger than 2 gigabytes."
raise BuilderSizeError(msg)
@@ -104,12 +111,6 @@ class Builder(object):
self.objectEnd = None
self.vtables = []
- def MaxBufferSize(self):
- """
- Maximum buffer size is 2Gb.
- """
- return 2**31
-
def Output(self):
"""
Output returns the portion of the buffer that has been used for
@@ -244,11 +245,11 @@ class Builder(object):
def growByteBuffer(self):
"""Doubles the size of the byteslice, and copies the old data towards
the end of the new buffer (since we build the buffer backwards)."""
- if not len(self.Bytes) <= self.MaxBufferSize():
+ if not len(self.Bytes) <= Builder.MAX_BUFFER_SIZE:
msg = "flatbuffers: cannot grow buffer beyond 2 gigabytes"
raise BuilderSizeError(msg)
- newSize = len(self.Bytes) * 2
+ newSize = min( len(self.Bytes) * 2, Builder.MAX_BUFFER_SIZE )
if newSize == 0:
newSize = 1
bytes2 = bytearray(newSize)