]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/NNTP.pm
ds: remove fields.pm usage
[public-inbox.git] / lib / PublicInbox / NNTP.pm
index 6df19f322b6e03aaf91ba76f61a524d047be7604..9d91544abd309d7186ceae91e338129a42f1e361 100644 (file)
@@ -2,11 +2,14 @@
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 #
 # Each instance of this represents a NNTP client socket
+# fields:
+# nntpd: PublicInbox::NNTPD ref
+# article: per-session current article number
+# ng: PublicInbox::Inbox ref
+# long_cb: long_response private data
 package PublicInbox::NNTP;
 use strict;
-use warnings;
-use base qw(PublicInbox::DS);
-use fields qw(nntpd article ng long_cb);
+use parent qw(PublicInbox::DS);
 use PublicInbox::MID qw(mid_escape $MID_EXTRACT);
 use PublicInbox::Eml;
 use POSIX qw(strftime);
@@ -45,7 +48,7 @@ sub greet ($) { $_[0]->write($_[0]->{nntpd}->{greet}) };
 
 sub new ($$$) {
        my ($class, $sock, $nntpd) = @_;
-       my $self = fields::new($class);
+       my $self = bless { nntpd => $nntpd }, $class;
        my $ev = EPOLLIN;
        my $wbuf;
        if ($sock->can('accept_SSL') && !$sock->accept_SSL) {
@@ -54,7 +57,6 @@ sub new ($$$) {
                $wbuf = [ \&PublicInbox::DS::accept_tls_step, \&greet ];
        }
        $self->SUPER::new($sock, $ev | EPOLLONESHOT);
-       $self->{nntpd} = $nntpd;
        if ($wbuf) {
                $self->{wbuf} = $wbuf;
        } else {
@@ -553,8 +555,7 @@ sub cmd_article ($;$) {
        return $smsg unless ref $smsg;
        set_art($self, $art);
        $smsg->{nntp} = $self;
-       git_async_cat($self->{ng}->git, $smsg->{blob}, \&blob_cb, $smsg);
-       undef;
+       ${git_async_cat($self->{ng}->git, $smsg->{blob}, \&blob_cb, $smsg)};
 }
 
 sub cmd_head ($;$) {
@@ -564,8 +565,7 @@ sub cmd_head ($;$) {
        set_art($self, $art);
        $smsg->{nntp} = $self;
        $smsg->{nntp_code} = 221;
-       git_async_cat($self->{ng}->git, $smsg->{blob}, \&blob_cb, $smsg);
-       undef;
+       ${git_async_cat($self->{ng}->git, $smsg->{blob}, \&blob_cb, $smsg)};
 }
 
 sub cmd_body ($;$) {
@@ -575,8 +575,7 @@ sub cmd_body ($;$) {
        set_art($self, $art);
        $smsg->{nntp} = $self;
        $smsg->{nntp_code} = 222;
-       git_async_cat($self->{ng}->git, $smsg->{blob}, \&blob_cb, $smsg);
-       undef;
+       ${git_async_cat($self->{ng}->git, $smsg->{blob}, \&blob_cb, $smsg)};
 }
 
 sub cmd_stat ($;$) {