full_read
return full_read(fd, msg, sizeof(msg->header), true);
return full_read(fd, &msg->payload, size, false);