user/dev discussion of public-inbox itself
 help / color / Atom feed
From: Eric Wong <e@yhbt.net>
To: meta@public-inbox.org
Subject: Re: [PATCH 4/4] wwwstatic: wire up buffer bypass for -httpd
Date: Sat, 25 Jan 2020 19:34:13 +0000
Message-ID: <20200125193413.GA45625@dcvr> (raw)
In-Reply-To: <20200124094352.19437-5-e@yhbt.net>

Eric Wong <e@yhbt.net> wrote:
> diff --git a/lib/PublicInbox/WwwStatic.pm b/lib/PublicInbox/WwwStatic.pm
> index e1f536f3..174f4752 100644
> --- a/lib/PublicInbox/WwwStatic.pm
> +++ b/lib/PublicInbox/WwwStatic.pm
> @@ -51,7 +51,24 @@ sub r ($;$) {
>  	  [ $msg ] ]
>  }
>  
> -sub prepare_range {
> +sub getline_response ($$$$$) {
> +	my ($env, $in, $off, $len, $path) = @_;
> +	my $r = bless {}, __PACKAGE__;
> +	if ($env->{'pi-httpd.async'}) { # public-inbox-httpd-only mode
> +		$env->{'psgix.no-compress'} = 1; # do not chunk response
> +		%$r = ( bypass => [$in, $off, $len, $env->{'psgix.io'}] );
> +	} else {
> +		%$r = ( in => $in, off => $off, len => $len, path => $path );
> +	}
> +	$r;
> +}
> +
> +sub getline_generic ($$$$) {
> +	my ($in, $off, $len, $p) = @_;
> +	bless { in => $in, off => $off, len => $len, path => $p }, __PACKAGE__;
> +}

Oops, getline_generic isn't used anywhere, since I inlined it
into getline_response.  Going to squash the following in:

diff --git a/lib/PublicInbox/WwwStatic.pm b/lib/PublicInbox/WwwStatic.pm
index d75c0076..60a71d8d 100644
--- a/lib/PublicInbox/WwwStatic.pm
+++ b/lib/PublicInbox/WwwStatic.pm
@@ -63,11 +63,6 @@ sub getline_response ($$$$$) {
 	$r;
 }
 
-sub getline_generic ($$$$) {
-	my ($in, $off, $len, $p) = @_;
-	bless { in => $in, off => $off, len => $len, path => $p }, __PACKAGE__;
-}
-
 sub setup_range {
 	my ($env, $in, $h, $beg, $end, $size) = @_;
 	my $code = 200;

      parent reply index

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-24  9:43 [PATCH 0/4] -httpd static file improvements Eric Wong
2020-01-24  9:43 ` [PATCH 1/4] http: eliminate short-lived cyclic ref for psgix.io Eric Wong
2020-01-24  9:43 ` [PATCH 2/4] wwwstatic: offload error handling to PSGI server Eric Wong
2020-01-24  9:43 ` [PATCH 3/4] ds: tmpio: store offsets per-buffer Eric Wong
2020-01-24 19:07   ` Eric Wong
2020-01-24  9:43 ` [PATCH 4/4] wwwstatic: wire up buffer bypass for -httpd Eric Wong
2020-01-25 19:27   ` Eric Wong
2020-01-25 19:34   ` Eric Wong [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200125193413.GA45625@dcvr \
    --to=e@yhbt.net \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

user/dev discussion of public-inbox itself

Archives are clonable:
	git clone --mirror http://public-inbox.org/meta
	git clone --mirror http://czquwvybam4bgbro.onion/meta
	git clone --mirror http://hjrcffqmbrq6wope.onion/meta
	git clone --mirror http://ou63pmih66umazou.onion/meta

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.mail.public-inbox.meta
	nntp://ou63pmih66umazou.onion/inbox.comp.mail.public-inbox.meta
	nntp://czquwvybam4bgbro.onion/inbox.comp.mail.public-inbox.meta
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.mail.public-inbox.meta
	nntp://news.gmane.io/gmane.mail.public-inbox.general

 note: .onion URLs require Tor: https://www.torproject.org/

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git