X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fnanomsg.cc;h=b66d966afb7cc4bd02ed5b42142b6f7cc736f9fe;hp=4cc071370d0f9674e8de56a6b86df0912e06eab1;hb=33e13c4053138930f4b2f59349e441c76111059d;hpb=5e2596f26da5ab13f2386de1c0a3f67cd2f24776 diff --git a/src/lib/nanomsg.cc b/src/lib/nanomsg.cc index 4cc071370..b66d966af 100644 --- a/src/lib/nanomsg.cc +++ b/src/lib/nanomsg.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2020 Carl Hetherington + Copyright (C) 2020-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,6 +18,7 @@ */ + #include "nanomsg.h" #include "dcpomatic_log.h" #include "exceptions.h" @@ -26,12 +27,15 @@ #include #include + using std::string; using std::runtime_error; using boost::optional; + #define NANOMSG_URL "ipc:///tmp/dcpomatic.ipc" + Nanomsg::Nanomsg (bool server) { _socket = nn_socket (AF_SP, NN_PAIR); @@ -49,6 +53,7 @@ Nanomsg::Nanomsg (bool server) } } + bool Nanomsg::send (string s, int timeout) { @@ -69,18 +74,20 @@ Nanomsg::send (string s, int timeout) return true; } + optional Nanomsg::get_from_pending () { if (_pending.empty()) { - return optional(); + return {}; } - string const l = _pending.back(); + auto const l = _pending.back(); _pending.pop_back(); return l; } + void Nanomsg::recv_and_parse (int flags) { @@ -108,6 +115,7 @@ Nanomsg::recv_and_parse (int flags) nn_freemsg (buf); } + optional Nanomsg::receive (int timeout) { @@ -115,7 +123,7 @@ Nanomsg::receive (int timeout) nn_setsockopt (_socket, NN_SOL_SOCKET, NN_RCVTIMEO, &timeout, sizeof(int)); } - optional l = get_from_pending (); + auto l = get_from_pending (); if (l) { return *l; }