~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/chunk_writer.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-10-05 21:15:13 UTC
  • mfrom: (5448.3.5 374700-Add-gnu-lsh-support)
  • Revision ID: pqm@pqm.ubuntu.com-20101005211513-whouyj5t7oo92gmq
(gz) Add support for GNU lsh as a secure shell client (Matthew Gordon)

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
"""ChunkWriter: write compressed data out with a fixed upper bound."""
19
19
 
20
 
from __future__ import absolute_import
21
 
 
22
20
import zlib
23
21
from zlib import Z_FINISH, Z_SYNC_FLUSH
24
22
 
124
122
        bytes that did not fit in the chunk.
125
123
 
126
124
        :return: (compressed_bytes, unused_bytes, num_nulls_needed)
127
 
 
128
 
            * compressed_bytes: a list of bytes that were output from the
129
 
              compressor. If the compressed length was not exactly chunk_size,
130
 
              the final string will be a string of all null bytes to pad this
131
 
              to chunk_size
132
 
            * unused_bytes: None, or the last bytes that were added, which we
133
 
              could not fit.
134
 
            * num_nulls_needed: How many nulls are padded at the end
 
125
            compressed_bytes    a list of bytes that were output from the
 
126
                                compressor. If the compressed length was not
 
127
                                exactly chunk_size, the final string will be a
 
128
                                string of all null bytes to pad this to
 
129
                                chunk_size
 
130
            unused_bytes        None, or the last bytes that were added, which
 
131
                                we could not fit.
 
132
            num_nulls_needed    How many nulls are padded at the end
135
133
        """
136
134
        self.bytes_in = None # Free the data cached so far, we don't need it
137
135
        out = self.compressor.flush(Z_FINISH)
166
164
        :param extra_bytes: Optional, if supplied we will add it with
167
165
            Z_SYNC_FLUSH
168
166
        :return: (bytes_out, bytes_out_len, alt_compressed)
169
 
 
170
 
            * bytes_out: is the compressed bytes returned from the compressor
171
 
            * bytes_out_len: the length of the compressed output
172
 
            * compressor: An object with everything packed in so far, and
173
 
              Z_SYNC_FLUSH called.
 
167
            bytes_out   is the compressed bytes returned from the compressor
 
168
            bytes_out_len the length of the compressed output
 
169
            compressor  An object with everything packed in so far, and
 
170
                        Z_SYNC_FLUSH called.
174
171
        """
175
172
        compressor = zlib.compressobj()
176
173
        bytes_out = []