NAME

IO::Framed::X::EmptyRead

SYNOPSIS

use Try::Tiny;
use IO::Framed::Read;

my $iof = IO::Framed::Read->new( $some_socket );

try { $iof->read(20) }
catch {
    if ( try { $_->isa('IO::Framed::Read') } ) { ... }
};

DESCRIPTION

Thrown when a read operation returns empty but without an error from the operating system. This isn’t an *error* so much as just an “exceptional condition” that so radically changes the application state that it’s worth throwing on.

You can suppress this error by setting allow_empty_read() on the IO::Framed::Read instance; otherwise, you should probably always trap this error so you can cleanly shut things down.