+
+/** @return true if the message was sent, false if there was a timeout */
+bool
+DiskWriterBackEndResponse::write_to_nanomsg(Nanomsg& nanomsg, int timeout) const
+{
+ string message;
+
+ switch (_type)
+ {
+ case Type::OK:
+ message = String::compose("%1\n", DISK_WRITER_OK);
+ break;
+ case Type::ERROR:
+ message = String::compose("%1\n%2\n%3\n", DISK_WRITER_ERROR, _error_message, _error_number);
+ break;
+ case Type::PONG:
+ message = String::compose("%1\n", DISK_WRITER_PONG);
+ break;
+ case Type::FORMAT_PROGRESS:
+ message = String::compose("%1\n", DISK_WRITER_FORMAT_PROGRESS);
+ message += dcp::raw_convert<string>(_progress) + "\n";
+ break;
+ case Type::COPY_PROGRESS:
+ message = String::compose("%1\n", DISK_WRITER_COPY_PROGRESS);
+ message += dcp::raw_convert<string>(_progress) + "\n";
+ break;
+ case Type::VERIFY_PROGRESS:
+ message = String::compose("%1\n", DISK_WRITER_VERIFY_PROGRESS);
+ message += dcp::raw_convert<string>(_progress) + "\n";
+ break;
+ }
+
+
+ return nanomsg.send(message, timeout);
+}
+
+