В соответствии с http://php.net/manual/en/php-user-filter.filter.php «потребляются, который должен всегда быть объявленным посредством ссылки, должно быть увеличено на длину данных, которые ваш фильтр считывает и изменяет. В большинстве случаев это означает, что вы будете увеличивать потребляются от $ Bucket-> datalen для каждого $ Ведро.«
Допустим, у вас есть блочный шифр с размером блока 16, и у вас есть ввод длины 25. На этом этапе вы пишете $bucket->data
может быть длиной 16 байт, несмотря на то, что длина входного файла составляет 25 байт Так должно $consumed
на 16 или 25?
И точно так же, если у вас есть ввод длины 5, вы, вероятно, захотите вернуть PSFS_FEED_ME
так должно $consumed
быть 0 или 5?
Задача ещё не решена.
Других решений пока нет …