The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

XAS::Lib::Mixin::Keepalive - A mixin to implement TCP keepalive

SYNOPSIS

 use XAS::Class
   version => '0.01',
   base    => 'XAS::Base',
   mixin   => 'XAS::Lib::Mixin::Keepalive'
 ;

DESCRIPTION

This module is a mixin class to share code for initializing TCP level keepalives.

METHODS

init_keepalive

This will attempt to define the necessary variables to allow TCP keepalive to function. Not all Perl's and OS's define the necessary values.

enable_keepalive($socket)

This will enable keepalive on the given socket. By default this will initialize keepalive to the RFC minimal, i.e. send a keepalive packet once every 2 hours. If the OS supports it, this will be modified to send up to 3 keepalive packets once every 15 minutes.

This should fix those pesky firewalls...

$socket

The socket to enable keepalive on.

SEE ALSO

XAS

AUTHOR

Kevin L. Esteb, <kevin@kesteb.us>

COPYRIGHT AND LICENSE

Copyright (C) 2014 Kevin L. Esteb

This is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0. For details, see the full text of the license at http://www.perlfoundation.org/artistic_license_2_0.