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.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 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 7807E1F4B6 for ; Fri, 5 Jul 2019 22:53:39 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 1/4] nntp: use msg_more as a method Date: Fri, 5 Jul 2019 22:53:36 +0000 Message-Id: <20190705225339.5698-2-e@80x24.org> In-Reply-To: <20190705225339.5698-1-e@80x24.org> References: <20190705225339.5698-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: It's a tad slower, but we'll be able to subclass this to rely on zlib deflate buffering. This is advantageous for TLS clients since (AFAIK) IO::Socket::SSL/OpenSSL doesn't give us ways to use MSG_MORE or writev(2) like like GNUTLS does. --- lib/PublicInbox/NNTP.pm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index d106e315..9b8b81ec 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -14,7 +14,7 @@ use PublicInbox::Git; require PublicInbox::EvCleanup; use Email::Simple; use POSIX qw(strftime); -PublicInbox::DS->import(qw(now msg_more)); +PublicInbox::DS->import(qw(now)); use Digest::SHA qw(sha1_hex); use Time::Local qw(timegm timelocal); use constant { @@ -158,12 +158,12 @@ sub cmd_xgtitle ($;$) { sub list_overview_fmt ($) { my ($self) = @_; - msg_more($self, $OVERVIEW_FMT); + $self->msg_more($OVERVIEW_FMT); } sub list_headers ($;$) { my ($self) = @_; - msg_more($self, $LIST_HEADERS); + $self->msg_more($LIST_HEADERS); } sub list_active ($;$) { @@ -517,7 +517,7 @@ sub msg_body_write ($$) { $$msg =~ s/^\./../smg; $$msg =~ s/(?msg_more($$msg); '.' } @@ -538,7 +538,7 @@ sub msg_hdr_write ($$$) { # affect messages already in the archive. $hdr =~ s/^(Message-ID:)[ \t]*\r\n[ \t]+([^\r]+)\r\n/$1 $2\r\n/igsm; $hdr .= "\r\n" if $body_follows; - msg_more($self, $hdr); + $self->msg_more($hdr); } sub cmd_article ($;$) { @@ -757,7 +757,7 @@ sub hdr_searchmsg ($$$$) { $tmp .= $s->{num} . ' ' . $s->$field . "\r\n"; } utf8::encode($tmp); - msg_more($self, $tmp); + $self->msg_more($tmp); $cur = $msgs->[-1]->{num} + 1; }); } @@ -924,7 +924,7 @@ sub cmd_xpath ($$) { sub res ($$) { do_write($_[0], $_[1] . "\r\n") } -sub more ($$) { msg_more($_[0], $_[1] . "\r\n") } +sub more ($$) { $_[0]->msg_more($_[1] . "\r\n") } sub do_write ($$) { my $self = $_[0]; -- EW