Lines Matching refs:msg

258         syncmsg msg;
259 msg.data.id = ID_DONE;
260 msg.data.size = mtime;
262 return WriteOrDie(lpath, rpath, &msg.data, sizeof(msg.data));
266 syncmsg msg;
267 if (!ReadFdExactly(fd, &msg.status, sizeof(msg.status))) {
271 if (msg.status.id == ID_OKAY) {
280 if (msg.status.id != ID_FAIL) {
281 Error("failed to copy '%s' to '%s': unknown reason %d", from, to, msg.status.id);
284 return ReportCopyFailure(from, to, msg);
287 bool ReportCopyFailure(const char* from, const char* to, const syncmsg& msg) {
288 std::vector<char> buf(msg.status.msglen + 1);
289 if (!ReadFdExactly(fd, &buf[0], msg.status.msglen)) {
294 buf[msg.status.msglen] = 0;
410 syncmsg msg;
411 if (!ReadFdExactly(fd, &msg.status, sizeof(msg.status))) {
413 } else if (msg.status.id != ID_FAIL) {
414 Error("failed to copy '%s' to '%s': not ID_FAIL: %d", from, to, msg.status.id);
416 ReportCopyFailure(from, to, msg);
440 syncmsg msg;
441 if (!ReadFdExactly(sc.fd, &msg.dent, sizeof(msg.dent))) return false;
443 if (msg.dent.id == ID_DONE) return true;
444 if (msg.dent.id != ID_DENT) return false;
446 size_t len = msg.dent.namelen;
453 func(msg.dent.mode, msg.dent.size, msg.dent.time, buf);
459 syncmsg msg;
460 if (!ReadFdExactly(sc.fd, &msg.stat, sizeof(msg.stat)) || msg.stat.id != ID_STAT) {
464 if (timestamp) *timestamp = msg.stat.time;
465 if (mode) *mode = msg.stat.mode;
466 if (size) *size = msg.stat.size;
537 syncmsg msg;
538 if (!ReadFdExactly(sc.fd, &msg.data, sizeof(msg.data))) {
544 if (msg.data.id == ID_DONE) break;
546 if (msg.data.id != ID_DATA) {
549 sc.ReportCopyFailure(rpath, lpath, msg);
553 if (msg.data.size > sc.max) {
554 sc.Error("msg.data.size too large: %u (max %zu)", msg.data.size, sc.max);
561 if (!ReadFdExactly(sc.fd, buffer, msg.data.size)) {
567 if (!WriteFdExactly(lfd, buffer, msg.data.size)) {
574 sc.total_bytes_ += msg.data.size;
576 bytes_copied += msg.data.size;