2008-01-30から1日間の記事一覧

フィルタの勉強: ブリッジの回し方とAPI

バケットを詰め替える場合 while (!APR_BRIGADE_EMPTY(bb)) { apr_bucket *e = APR_BRIGADE_FIRST(bb); if (APR_BUCKET_IS_EOS(e)) { // APR_BUCKET_IS_EOCはなくなったよう // ストリームの終端 APR_BUCKET_REMOVE(e); APR_BRIGADE_INSERT_TAIL(bbout, e); …

フィルタの勉強: バケットの分割

バケット(ブリッジではない)の分割にはapr_bucket_split(e)を使う。 apr_bucket_split(a)の実体(のひとつ?)。 APU_DECLARE_NONSTD(apr_status_t) apr_bucket_simple_split(apr_bucket *a, apr_size_t point) { apr_bucket *b; if (point > a->length) { …

フィルタの勉強: フィルタの呼び出しとストリームの終わり

static apr_status_t hogehoge_filter(ap_filter_t *f, apr_bucket_brigade *bb) { request_rec *r = f->r; my_ctx *ctx = f->ctx; いくつかのフィルタのコードを読んでみると、どうも一回のフィルタの呼び出しではストリームが終わらないことがあるらしい。…

PPT: Bucket Brigades: Data Management for Apache 2.0

http://www.cs.virginia.edu/~jcw5q/talks/apache/bucketbrigades.ac2002.ppt

RHGの逆襲に行ってきました

あとで詳しく書きます。