---
name: "IO::Event::Callback"
section: "3pm"
platform: "linux"
package: "libio-event-perl"
version: "0.813-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/IO::Event::Callback"
---

# IO::Event::Callback(3pm)

## NAME

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

## 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.

## 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 exmaple use of IO::Event::Callback.
