* [PATCH 32/43] feed: /$INBOX/new.html fetches blobs asynchronously
@ 2020-07-05 23:27 7% ` Eric Wong
0 siblings, 0 replies; 1+ results
From: Eric Wong @ 2020-07-05 23:27 UTC (permalink / raw)
To: meta
Once again this speeds another endpoint up 10% or so.
---
lib/PublicInbox/Feed.pm | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm
index 9141faaf0..279106d28 100644
--- a/lib/PublicInbox/Feed.pm
+++ b/lib/PublicInbox/Feed.pm
@@ -48,15 +48,15 @@ sub generate_html_index {
}
sub new_html_i {
- my ($ctx) = @_;
- return $ctx->html_top if exists $ctx->{-html_tip};
- my $msgs = $ctx->{msgs};
- while (my $smsg = shift @$msgs) {
- my $eml = $ctx->{-inbox}->smsg_eml($smsg) or next;
- return PublicInbox::View::eml_entry($ctx, $smsg, $eml,
- scalar @$msgs);
- }
- PublicInbox::View::pagination_footer($ctx, './new.html');
+ my ($ctx, $eml) = @_;
+ $ctx->zmore($ctx->html_top) if exists $ctx->{-html_tip};
+
+ $eml and return PublicInbox::View::eml_entry($ctx, $ctx->{smsg}, $eml,
+ scalar @{$ctx->{msgs}});
+ my $smsg = shift @{$ctx->{msgs}} or
+ $ctx->zmore(PublicInbox::View::pagination_footer(
+ $ctx, './new.html'));
+ $smsg;
}
sub new_html {
@@ -69,7 +69,7 @@ sub new_html {
$ctx->{-html_tip} = '<pre>';
$ctx->{-upfx} = '';
$ctx->{-hr} = 1;
- PublicInbox::WwwStream::response($ctx, 200, \&new_html_i);
+ PublicInbox::WwwStream::aresponse($ctx, 200, \&new_html_i);
}
# private subs
^ permalink raw reply related [relevance 7%]
Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2020-07-05 23:27 [PATCH 00/43] www: async git cat-file w/ -httpd Eric Wong
2020-07-05 23:27 7% ` [PATCH 32/43] feed: /$INBOX/new.html fetches blobs asynchronously Eric Wong
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).