19 \fpoirotte\Pssht\Algorithms\AvailabilityInterface
35 if (self::$deflateFactory === null || self::$inflateFactory === null) {
36 throw new \RuntimeException(
'(De)Compression is not available');
39 if (
$mode == self::MODE_COMPRESS) {
40 list($cls, $method) = self::$deflateFactory;
46 list($cls, $method) = self::$inflateFactory;
50 $reflector = new \ReflectionMethod($cls, $method);
51 if ($reflector->isConstructor()) {
52 $this->stream =
new $cls($flags);
54 $this->stream = $reflector->invoke(null, $flags);
68 if (class_exists(
'http\\Encoding\\Stream\\Deflate') &&
69 class_exists(
'\\http\\Encoding\\Stream\\Inflate')) {
70 self::$deflateFactory = array(
'\\http\\Encoding\\Stream\\Deflate',
'__construct');
71 self::$inflateFactory = array(
'\\http\\Encoding\\Stream\\Inflate',
'__construct');
76 if (class_exists(
'\\HttpDeflateStream') &&
77 class_exists(
'\\HttpInflateStream')) {
78 self::$deflateFactory = array(
'\\HttpDeflateStream',
'factory');
79 self::$inflateFactory = array(
'\\HttpInflateStream',
'factory');
92 return $this->stream->update($data);
static $inflateFactory
Factory used to inflate (decompress) data.
static $deflateFactory
Factory used to deflate (compress) data.
$mode
Compression/decompression mode.
$stream
Compression/decompression stream.
static getName()
Return the name of the algorithm.