=head1 NAME

UniEvent::Request::Write - stream write request

=head1 DESCRIPTION

This is an internal purpose object and can be used for tracking requests.

It can be used to identify, which pieces of data has been written, e.g.:

    my %tracked;
    $stream->write_callback(sub {
        my ($stream, $error, $request) = @_;
        say $tracked{$request}, " has been written";
    });
    ...;
    my $piece1 = "piece1";
    my $piece2 = "piece2";

    my $r1 = $stream->write($piece1);
    $tracked{$r1} = $piece1;

    my $r2 = $stream->write($piece2);
    $tracked{$r2} = $piece2;

As the alternative, the one-shot callback can be used with C<write> method:

    $stream->write('piece1', sub {
        say "piece1 has been written";
    });

    $stream->write('piece2', sub {
        say "piece2 has been written";
    });

=cut
