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
- Florian Ragwitz <[email protected]>
- Boris Zentner <[email protected]>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by Florian Ragwitz.This is free software, licensed under:
The MIT (X11) License