From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.2 required=3.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 2DFB81FAF1 for ; Fri, 23 Dec 2022 11:05:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1671793516; bh=FXcDWyNdxsGyMn59E1wZy9XnSPIHS7muJMk/4NOP03E=; h=From:To:Subject:Date:In-Reply-To:References:From; b=WfYCATrR3GB4ylcXFptz000QQXu/yH+XChHmdv1lFy9x5Crmw3SS8ZWwhlcU4iIYj LMCamslXfLmFK0M+2//eA0lnCxIQfp/MY6LVSzgQBT0df/BB1TaAgnzmgDxmIGYX5f Ierkiqp3OQ1jVsGDazfAfuLW3nCz7KwKOqAtNMPw= From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 4/4] httpd/async + qspawn: rename {fh} fields Date: Fri, 23 Dec 2022 11:05:15 +0000 Message-Id: <20221223110515.19907-5-e@80x24.org> In-Reply-To: <20221223110515.19907-1-e@80x24.org> References: <20221223110515.19907-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Use more unique names within the project to minimize confusion since these packages interact quite a bit and using identical names leads to needless confusion. --- lib/PublicInbox/HTTPD/Async.pm | 16 +++++++++------- lib/PublicInbox/Qspawn.pm | 4 ++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/PublicInbox/HTTPD/Async.pm b/lib/PublicInbox/HTTPD/Async.pm index 75b3bd50..e03daafa 100644 --- a/lib/PublicInbox/HTTPD/Async.pm +++ b/lib/PublicInbox/HTTPD/Async.pm @@ -37,7 +37,7 @@ sub new { arg => $arg, # arg for $cb end_obj => $end_obj, # like END{}, can ->event_step }, $class; - my $pp = tied *$io; + my $pp = tied *$io; # ProcessPipe $pp->{fh}->blocking(0) // die "$io->blocking(0): $!"; $self->SUPER::new($io, EPOLLIN); } @@ -54,7 +54,7 @@ sub event_step { # and 65536 is the default Linux pipe size my $r = sysread($sock, my $buf, 65536); if ($r) { - $self->{fh}->write($buf); # may call $http->close + $self->{ofh}->write($buf); # may call $http->close # let other clients get some work done, too return if $http->{sock}; # !closed @@ -63,7 +63,7 @@ sub event_step { return; # EPOLLIN means we'll be notified } - # Done! Error handling will happen in $self->{fh}->close + # Done! Error handling will happen in $self->{ofh}->close # called by end_obj->event_step handler delete $http->{forward}; $self->close; # queues end_obj->event_step to be called @@ -71,9 +71,11 @@ sub event_step { } # once this is called, all data we read is passed to the -# to the PublicInbox::HTTP instance ($http) via $fh->write +# to the PublicInbox::HTTP instance ($http) via $ofh->write +# $ofh is typically PublicInbox::HTTP::{Chunked,Identity}, but +# may be PublicInbox::GzipFilter or $PublicInbox::Qspawn::qx_fh sub async_pass { - my ($self, $http, $fh, $bref) = @_; + my ($self, $http, $ofh, $bref) = @_; # In case the client HTTP connection ($http) dies, it # will automatically close this ($self) object. $http->{forward} = $self; @@ -82,10 +84,10 @@ sub async_pass { # This is typically PublicInbox:HTTP::{chunked,identity}_wcb, # but may be PublicInbox::GzipFilter::write. PSGI requires # *_wcb methods respond to ->write (and ->close), not ->print - $fh->write($$bref); + $ofh->write($$bref); $self->{http} = $http; - $self->{fh} = $fh; + $self->{ofh} = $ofh; } # may be called as $forward->close in PublicInbox::HTTP or EOF (event_step) diff --git a/lib/PublicInbox/Qspawn.pm b/lib/PublicInbox/Qspawn.pm index da7cd74f..6e245389 100644 --- a/lib/PublicInbox/Qspawn.pm +++ b/lib/PublicInbox/Qspawn.pm @@ -187,7 +187,7 @@ sub event_step { my ($self, $err) = @_; # $err: $! warn "psgi_{return,qx} $err" if defined($err); finish($self); - my ($fh, $qx_fh) = delete(@$self{qw(fh qx_fh)}); + my ($fh, $qx_fh) = delete(@$self{qw(qfh qx_fh)}); $fh->close if $fh; # async-only (psgi_return) } @@ -242,7 +242,7 @@ sub psgi_return_init_cb { # done reading headers, handoff to read body my $fh = $wcb->($r); # scalar @$r == 2 $fh = $filter->attach($fh) if $filter; - $self->{fh} = $fh; + $self->{qfh} = $fh; $async->async_pass($env->{'psgix.io'}, $fh, delete($self->{hdr_buf})); } else { # for synchronous PSGI servers