class_docstr: Class that wraps a transport with zlib, compressing writes
  and decompresses reads, using the python standard
  library zlib module.
class_docstr_tok: ["Class","that","wraps","a","transport","with","zlib",",","compressing","writes","and","decompresses","reads",",","using","the","python","standard","library","zlib","module","."]
docstr: Read up to sz bytes from the decompressed bytes buffer, and
  read from the underlying transport if the decompression
  buffer is empty.
docstr_tok: ["Read","up","to","sz","bytes","from","the","decompressed","bytes","buffer",",","and","read","from","the","underlying","transport","if","the","decompression","buffer","is","empty","."]
code: def read(self, sz):
      """Read up to sz bytes from the decompressed bytes buffer, and
      read from the underlying transport if the decompression
      buffer is empty.
      """
      ret = self.__rbuf.read(sz)
      if len(ret) > 0:
          return ret
      # keep reading from transport until something comes back
      while True:
          if self.readComp(sz):
              break
      ret = self.__rbuf.read(sz)
      return ret
  
imports: from __future__ import division
  import zlib
  from .TTransport import TTransportBase, CReadableTransport
  from ..compat import BufferIO
label_desc: Use image node_id 12 for calling the TZlibTransport obj's underlying member method code with example usage: obj.read(sz) and returns: ret, ret