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.
void *buf = nn_allocmsg (12, 0); memcpy (buf, "Hello world!", 12); nn_send (s, &buf, NN_MSG, 0);