package Net::WebSocket::Base::ControlFrame; use strict; use warnings; use parent qw( Net::WebSocket::Frame ); use Net::WebSocket::X (); use constant get_fin => 1; use constant is_control => 1; sub _assemble_length { my ($class, $payload_sr) = @_; if (length $$payload_sr > 125) { my $type = $class->get_type(); die Net::WebSocket::X->create('ControlPayloadTooLong', $type, $$payload_sr); } return( chr(length $$payload_sr), q<> ); } sub new { my ($class, @opts) = @_; return $class->SUPER::new( @opts, fin => 1, ); } 1;