Добрый вечер!
Пишу фильтр. Создал буфер (ngx_buf_t), выделив память из аллокатора (ngx_pcalloc), установил:
b->start
b->pos
b->last
b->end
Остальные свойства буфера - нулевые, не трогал.
Пытаюсь заменить приходящий в фильтр в цепочке ngx_chain_t буфер - своим буфером. Зависает.
Получилось только в приходящем в цепочке в фильтр буфере установить pos и last на выделенную в моем буфере в аллокаторе память, что я понимаю не очень красивое решение.
Таким образом, просто заменить приходящий в фильтр буфер своим - не получилось никак.
У структуры буфера (ngx_buf_t) - 21 свойства. Видимо не все буферы можно заменять, менять (напр. с свойством "memory"). Где почитать как их учитывать в фильтре? Спасибо.