The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::BEEP::Lite::Frame

SYNOPSIS

  my $frame1 = Net::BEEP::Lite::Frame->new
   (Header => $header,
    Payload => $payload);

  my $frame2 = Net::BEEP::Lite::Frame->new
   (Buffer => $header_plus_payload);

  my $frame3 = Net::BEEP::Lite::Frame->new
   (Type => "MSG",
    Msgno => $message_number,
    Size => $size,
    More => '.',
    Seqno => $sequence_number,
    Channel => $channel_number);

DESCRIPTION

"Net::BEEP::Lite::Frame" is a class used for describing BEEP frames, the underlying unit of transport in BEEP. This is generally not used in user code. Instead, it is used internally by the Net::BEEP::Lite::Session class for sending and receiving messages.

CONSTRUCTOR

new( ARGS )

This is the main constructor for the class. It takes a named argument list. The following arguments are supported:

An unparsed frame header (e.g, "MSG 1 23 . 15563 49")

Payload

The frame payload (the frame minus the header and trailer).

Type

The frame type: one of (MSG, RPY, ERR, ANS, NUL, SEQ).

Msgno

The frame's message number.

Size

The size of the payload (not including trailer)

More

Either "." (no more), or "*" (more). This is a flag that indicates whether the message being described by this frame is complete.

Seqno

The sequence number of this frame. This is generally the number of octets already seen on the given channel.

Channel

The channel number.

METHODS

type()

Returns the type of the frame. (e.g., "MSG", "RPY, "SEQ", etc.).

msgno()

Returns the message number of the frame.

size()

Returns the size of the frame. If there is a payload, it will return the size of that. In the absence of a payload, it will whatever it has been set to (presumably by parsing a frame header).

more()

Returns either "." (no more) or "*" (more), a flag indicating whether or not this frame completes the message.

completes()

Return true if this is a completing frame. I.e., return true if the more field is ".".

seqno()

Returns the sequence number of the frame.

ansno()

Returns the answer number. This only has meaning for ANS frames.

channel_number()

Returns the channel number of the frame.

payload()

Return the payload of the frame.

ackno()

Returns the acknowledgment number of the frame. (SEQ frames only).

window()

Returns the window size advertised by the frame. (SEQ frames only).

set_payload($payload)

Sets this frame's payload to $payload.

header_to_string()

Returns the string form of the header. This is valid for the wire.

to_string()

Returns the string form of the entire frame (header, payload, and trailer). This valid for the wire.

SEE ALSO

Net::BEEP::Lite::Session