msend - sends a message
#include <libdill.h>
int msend(
int s,
const void* buf,
size_t len,
int64_t deadline);
This function sends a message to a socket. It is a blocking operation that unblocks only after entire message is sent. There is no such thing as partial send. If a problem, including timeout, occurs while sending the message error is returned to the user and the socket cannot be used for sending from that point on.
s: The socket to send the message to.
buf: Message to send.
len: Size of the message, in bytes.
deadline: A point in time when the operation should time out, in milliseconds. Use the now function to get your current point in time. 0 means immediate timeout, i.e., perform the operation if possible or return without blocking if not. -1 means no deadline, i.e., the call will block forever if the operation cannot be performed.
In case of success the function returns 0. In case of error it returns -1 and sets errno to one of the values below.
int rc = msend(s, "ABC", 3, -1);
mrecv(3) mrecvl(3) msendl(3) now(3)