NanoMsg::Raw::Message(3) 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::Message"s 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.

AUTHORS

COPYRIGHT AND LICENSE

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

This is free software, licensed under:

  The MIT (X11) License