🌻 📖 IO::Event::Callback

NAME

IO::Event::Callback - A closure based API for IO::Event

VERSION

version 0.814

SYNOPSIS

 use IO::Event::Callback;

 IO::Event::Callback->new($filehanle, %callbacks);

 use IO::Event::INET::Callback;

 IO::Event::INET::Callback->new(%socket_info, %callbacks);

 use IO::Event::UNIX::Callback;

 IO::Event::UNIX::Callback->new(%socket_info, %callbacks);

DESCRIPTION

IO::Event::Callback is a wrapper around IO::Event. It provides an alternative interface to using IO::Event.

Instead of defining a class with methods like "ie_input", you provide the callbacks as code references when you create the object.

The keys for the callbacks are the same as the callbacks for IO::Event with the ie_ prefix removed.

CONSTRUCTORS

new

 my $ioe = IO::Event::Callback->new($filehandle, %callbacks);

Create an IO::Event object for $filehandle whose handler invokes the given callbacks. The keys of %callbacks are the IO::Event handler names, with or without the ie_ prefix (for example input or ie_input). The read_only and write_only options are passed through to IO::Event.

EXAMPLE

 use IO::Event::Callback;

 my $remote = IO::Event::Callback::INET->new(
    peeraddr    => '10.20.10.3',
    peerport    => '23',
    input       => sub {
        # handle input
    },
    werror      => sub {
        # handdle error
    },
    eof     => sub {
        # handle end-of-file
    },
 );

SEE ALSO

See the source for RPC::ToWorker for an example use of IO::Event::Callback.

AUTHORS

COPYRIGHT AND LICENSE

This software is copyright (c) 2002-2026 by David Muir Sharnoff <muir@idiom.org>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.