Florian Ragwitz > NanoMsg-Raw-0.02 > NanoMsg::Raw::Message

Download:
NanoMsg-Raw-0.02.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 0.02   Source  

NAME ^

NanoMsg::Raw::Message - Message buffer for NanoMsg::Raw

SYNOPSIS ^

    use NanoMsg::Raw;

    {
        my $msg = nn_allocmsg(3, 0);
        $msg->copy('foo');
        nn_send($sock, $msg);
    }

    {
        nn_recv($sock, my $buf);
        warn $buf;
    }

DESCRIPTION ^

Instances of this class represent a message buffer allocated by nanomsg. New empty buffers can be allocated using nn_allocmsg. Both nn_recv and nn_recvmsg can be used to allocate buffers initialised with the contents of a received message.

NanoMsg::Raw::Messages can be used to send and receive data in a zero-copy fashion.

When using a message instance as a string, its overloading will produce a string containing a copy of the buffer content.

A string pointing to the actual buffer content, without having to create a copy of it, can be obtained by dereferencing the message instance as a scalar.

METHODS ^

copy($data)

    $msg->copy('foo');

Copies $data to the beginning of the buffer. If the data is larger than the space allocated for the buffer, an exception will be thrown.

SEE ALSO ^

NanoMsg::Raw

AUTHORS ^

COPYRIGHT AND LICENSE ^

This software is Copyright (c) 2013 by Florian Ragwitz.

This is free software, licensed under:

  The MIT (X11) License
syntax highlighting: