Updated: April 19, 2023 |
Read a message from a client
#include <sys/iofunc.h> #include <sys/resmgr.h> ssize_t resmgr_msgreadv( resmgr_context_t * ctp, iov_t * rmsg, int rparts, size_t offset );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
This resmgr_msgreadv() function is a convenience function that you can use in a resource manager instead of MsgReadv(). However, for efficiency, you should use resmgr_msggetv() instead.
You'll use resmgr_msgreadv() when handling combine messages, where the offset of the rest of the message that is to be read is additionally offset by previous combine message elements. For more information, see Layers in a resource manager in the Bones of a Resource Manager chapter of Writing a Resource Manager.
The same values as MsgReadv(): the number of bytes read, or -1 if an error occurs (errno is set).
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |