package Net::WebSocket::Streamer::Server;

=encoding utf-8

=head1 NAME

Net::WebSocket::Streamer::Server

=head1 SYNOPSIS

    open my $rfh, '<', '/some/big/file';

    my $stream = Net::WebSocket::Streamer::Server->new('binary');

    while ( read $rfh, my $buf, 32768 ) {
        my $chunk = $stream->create_chunk($buf);
        print {$socket} $chunk->to_bytes();
    }

    print {$socket} $stream->create_final(q<>);

=head1 DESCRIPTION

The SYNOPSIS pretty well shows it: you can use this module
(or its twin, C<Net::WebSocket::Streamer::Client>) to send a WebSocket
message without buffering the full contents.

=head1 EXTENSION SUPPORT

You can subclass this module to support initial frame types other than
text or binary. (Subsequent frames are always continuations.)

You can also set the reserved bytes manually on the individual frames
to support extensions that involve those bits.

=cut

use strict;
use warnings;

use parent qw(
    Net::WebSocket::Streamer
    Net::WebSocket::Masker::Server
);

1;