eob()) { $this->_buffer .= $iBucket->getData(); $consumed += $iBucket->getLength(); } if (null !== $consumed) { $return = self::PASS_ON; } if (true === $closing) { $stream = $this->getStream(); $this->compute(); $bucket = new Stream\Bucket( $stream, Stream\Bucket::IS_A_STREAM, $this->_buffer ); $oBucket = new Stream\Bucket($out); $oBucket->append($bucket); $return = self::PASS_ON; $this->_buffer = null; } return $return; } /** * Compute the whole data (stored in $this->_buffer). * * @return string */ abstract protected function compute(); }