X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fserver.cc;h=bf7541c3379f1f294f735f4c130b06994b0311d8;hb=854f2e5bbb7ffb9758b823af87034033033f3cb8;hp=bad7ad89310d95ccb8619488e13ae873771de31f;hpb=f8678dcae5f90eb946ad6e51d9a62e0c02bc63e3;p=dcpomatic.git diff --git a/src/lib/server.cc b/src/lib/server.cc index bad7ad893..bf7541c33 100644 --- a/src/lib/server.cc +++ b/src/lib/server.cc @@ -57,37 +57,7 @@ using boost::bind; using boost::scoped_array; using boost::optional; using boost::lexical_cast; -using libdcp::Size; - -ServerDescription::ServerDescription (shared_ptr node) -{ - _host_name = node->string_child ("HostName"); - _threads = node->number_child ("Threads"); -} - -void -ServerDescription::as_xml (xmlpp::Node* root) const -{ - root->add_child("HostName")->add_child_text (_host_name); - root->add_child("Threads")->add_child_text (boost::lexical_cast (_threads)); -} - -/** Create a server description from a string of metadata returned from as_metadata(). - * @param v Metadata. - * @return ServerDescription, or 0. - */ -optional -ServerDescription::create_from_metadata (string v) -{ - vector b; - split (b, v, is_any_of (" ")); - - if (b.size() != 2) { - return optional (); - } - - return ServerDescription (b[0], atoi (b[1].c_str ())); -} +using dcp::Size; Server::Server (shared_ptr log, bool verbose) : _log (log) @@ -115,7 +85,7 @@ Server::process (shared_ptr socket, struct timeval& after_read, struct t return -1; } - libdcp::Size size ( + dcp::Size size ( xml->number_child ("Width"), xml->number_child ("Height") ); @@ -209,7 +179,7 @@ Server::run (int num_threads) { _log->log (String::compose ("Server starting with %1 threads", num_threads)); if (_verbose) { - cout << "DCP-o-matic server started with " << num_threads << " threads.\n"; + cout << "DCP-o-matic server starting with " << num_threads << " threads.\n"; } for (int i = 0; i < num_threads; ++i) { @@ -243,6 +213,7 @@ Server::run (int num_threads) void Server::broadcast_thread () +try { boost::asio::io_service io_service; @@ -261,6 +232,10 @@ Server::broadcast_thread () io_service.run (); } +catch (...) +{ + store_current (); +} void Server::broadcast_received ()