From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

NAME

Net::WebSocket::Defragmenter

SYNOPSIS

my $defragger = Net::WebSocket::Defragmenter->new(
parser => $parser_obj, #i.e., isa Net::WebSocket::Parser
#Optional; these two receive the Net::WebSocket::Frame object.
on_control_frame => sub { ... },
on_data_frame => sub { ... },
#Optional; receives a type string and a human-readable message.
#An exception is thrown after this callback runs.
on_protocol_error => sub { ... },
);
my $msg_or_undef = $defragger->get_next_message();

DESCRIPTION

You ordinarily shouldn’t instantiate this class because Net::WebSocket::Endpoint already uses it.

This class implements WebSocket’s defragmentation logic. It’s mostly meant for internal use but is documented for cases where Net::WebSocket::Endpoint may not be usable or desirable.

METHODS

CLASS->new( %OPTS )

See SYNOPSIS above.

OBJ->get_next_message()

Reads a frame from parser.

Returns a Net::WebSocket::Message object if there is a message ready to return; otherwise returns undef.

An exception (Net::WebSocket::X) is thrown on fragmentation errors.