Class: Zlib::Inflate

Inherits:
ZStream show all
Defined in:
zlib.c,
zlib.c

Overview

Zlib:Inflate is the class for decompressing compressed data. Unlike Zlib::Deflate, an instance of this class is not able to duplicate (clone, dup) itself.

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ZStream

#adler, #avail_in, #avail_out, #avail_out=, #close, #closed?, #data_type, #end, #ended?, #finish, #finished?, #flush_next_in, #flush_next_out, #reset, #stream_end?, #total_in, #total_out

Constructor Details

#Zlib::Inflate.new(window_bits) ⇒ Object

Creates a new inflate stream for decompression. See zlib.h for details of the argument. If window_bits is nil, the default value is used.

TODO: document better!



1441
1442
1443
# File 'zlib.c', line 1441

static VALUE
rb_inflate_initialize(argc, argv, obj)
int argc;

Class Method Details

.Zlib::Inflate.inflate(string) ⇒ Object

Decompresses string. Raises a Zlib::NeedDict exception if a preset dictionary is needed for decompression.

This method is almost equivalent to the following code:

def inflate(string)
  zstream = Zlib::Inflate.new
  buf = zstream.inflate(string)
  zstream.finish
  zstream.close
  buf
end


1492
1493
1494
# File 'zlib.c', line 1492

static VALUE
rb_inflate_s_inflate(obj, src)
VALUE obj, src;

Instance Method Details

#<<(string) ⇒ Object

Inputs string into the inflate stream just like Zlib::Inflate#inflate, but returns the Zlib::Inflate object itself. The output from the stream is preserved in output buffer.



1583
1584
1585
# File 'zlib.c', line 1583

static VALUE
rb_inflate_addstr(obj, src)
VALUE obj, src;

#inflate(string) ⇒ Object

Inputs string into the inflate stream and returns the output from the stream. Calling this method, both the input and the output buffer of the stream are flushed. If string is nil, this method finishes the stream, just like Zlib::ZStream#finish.

Raises a Zlib::NeedDict exception if a preset dictionary is needed to decompress. Set the dictionary by Zlib::Inflate#set_dictionary and then call this method again with an empty string. (???)

TODO: document better!



1545
1546
1547
# File 'zlib.c', line 1545

static VALUE
rb_inflate_inflate(obj, src)
VALUE obj, src;

#set_dictionaryObject

Sets the preset dictionary and returns string. This method is available just only after a Zlib::NeedDict exception was raised. See zlib.h for details.

TODO: document better!



1656
1657
1658
# File 'zlib.c', line 1656

static VALUE
rb_inflate_set_dictionary(obj, dic)
VALUE obj, dic;

#sync(string) ⇒ Object

Inputs string into the end of input buffer and skips data until a full flush point can be found. If the point is found in the buffer, this method flushes the buffer and returns false. Otherwise it returns true and the following data of full flush point is preserved in the buffer.



1615
1616
1617
# File 'zlib.c', line 1615

static VALUE
rb_inflate_sync(obj, src)
VALUE obj, src;

#sync_point?Boolean

Quoted verbatim from original documentation:

What is this?

:)

Returns:

  • (Boolean)


1633
1634
1635
# File 'zlib.c', line 1633

static VALUE
rb_inflate_sync_point_p(obj)
VALUE obj;