GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  NN_ALLOCMSG (3)

.ds Aq ’

NAME

nn_allocmsg - allocate a message

CONTENTS

SYNOPSIS

#include <nanomsg/nn.h>

void *nn_allocmsg (size_t size, int type);

DESCRIPTION

Allocate a message of the specified size to be sent in zero-copy fashion. The content of the message is undefined after allocation and it should be filled in by the user. While nn_send(3) and nn_sendmsg(3) allow to send arbitrary buffers, buffers allocated using nn_allocmsg() can be more efficient for large messages as they allow for using zero-copy techniques.

type parameter specifies type of allocation mechanism to use. Zero is the default one, however, individual transport mechanisms may define their own allocation mechanisms, such as allocating in shared memory or allocating a memory block pinned down to a physical memory address. Such allocation, when used with the transport that defines them, should be more efficient than the default allocation mechanism.

RETURN VALUE

If the function succeeds pointer to newly allocated buffer is returned. Otherwise, NULL is returned and errno is set to to one of the values defined below.

ERRORS

EINVAL

Supplied allocation type is invalid.

ENOMEM

Not enough memory to allocate the message.

EXAMPLE

void *buf = nn_allocmsg (12, 0);
memcpy (buf, "Hello world!", 12);
nn_send (s, &buf, NN_MSG, 0);

SEE ALSO

nn_freemsg(3) nn_reallocmsg(3) nn_send(3) nn_sendmsg(3) nanomsg(7)

AUTHORS

Martin Sustrik <\m[blue]sustrik@250bpm.com\m[][1]>

NOTES

1. sustrik@250bpm.com  mailto:sustrik@250bpm.com
Search for    or go to Top of page |  Section 3 |  Main Index


nanomsg Unknown NN_ALLOCMSG (3) 03/17/2016

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.