connection_time: add compat with tcpserver deployment model
This commit is contained in:
parent
12e7895d4c
commit
0fa0f08b97
@ -31,7 +31,7 @@ use Qpsmtpd::Constants;
|
||||
use Time::HiRes qw(gettimeofday tv_interval);
|
||||
|
||||
sub register {
|
||||
my ($self, $qp) = shift, shift;
|
||||
my ($self, $qp) = (shift, shift);
|
||||
if ( @_ == 1 ) { # backwards compatible
|
||||
$self->{_args}{loglevel} = shift;
|
||||
if ( $self->{_args}{loglevel} =~ /\D/ ) {
|
||||
@ -45,21 +45,17 @@ sub register {
|
||||
else {
|
||||
$self->{_args} = { @_ }; # named args, inherits loglevel
|
||||
};
|
||||
# pre-connection is not available in the tcpserver deployment model.
|
||||
# duplicate the handler, so it works both ways with no redudant methods
|
||||
$self->register_hook('pre-connection', 'connect_handler');
|
||||
$self->register_hook('connect', 'connect_handler');
|
||||
}
|
||||
|
||||
sub hook_pre_connection {
|
||||
sub connect_handler {
|
||||
my $self = shift;
|
||||
return DECLINED if ( $self->hook_name eq 'connect' && defined $self->{_connection_start} );
|
||||
$self->{_connection_start} = [gettimeofday];
|
||||
$self->log(LOGDEBUG, "started at " . $self->{_connection_start} );
|
||||
return (DECLINED);
|
||||
}
|
||||
|
||||
sub hook_connect {
|
||||
my $self = shift;
|
||||
# this method is needed to function with the tcpserver deployment model
|
||||
return (DECLINED) if defined $self->{_connection_start};
|
||||
$self->{_connection_start} = [gettimeofday];
|
||||
$self->log(LOGDEBUG, "started at " . $self->{_connection_start} );
|
||||
$self->log(LOGDEBUG, "started at " . scalar gettimeofday );
|
||||
return (DECLINED);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user