diff options
author | Andrej Rode <andrej.rode@ettus.com> | 2017-04-03 18:49:58 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:03:45 -0800 |
commit | 53795c74aead4e6021bc788b788f8ed5b4a0166d (patch) | |
tree | 45e4075f3d8ffdee7dff7c72dd665f5c5b0c746c /host/lib/deps/rpclib/include/rpc/this_server.h | |
parent | 6a12add1560545438e1bebc05efbafd05aace4f9 (diff) | |
download | uhd-53795c74aead4e6021bc788b788f8ed5b4a0166d.tar.gz uhd-53795c74aead4e6021bc788b788f8ed5b4a0166d.tar.bz2 uhd-53795c74aead4e6021bc788b788f8ed5b4a0166d.zip |
uhd: add cut-down rpclib source tree and import tool
Diffstat (limited to 'host/lib/deps/rpclib/include/rpc/this_server.h')
-rw-r--r-- | host/lib/deps/rpclib/include/rpc/this_server.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/host/lib/deps/rpclib/include/rpc/this_server.h b/host/lib/deps/rpclib/include/rpc/this_server.h new file mode 100644 index 000000000..7e8826b69 --- /dev/null +++ b/host/lib/deps/rpclib/include/rpc/this_server.h @@ -0,0 +1,37 @@ +#pragma once + +#ifndef THIS_SERVER_H_X0CJLVVW +#define THIS_SERVER_H_X0CJLVVW + +namespace rpc { + +namespace detail { +class server_session; +} + +//! \brief Allows controlling the server instance from the +//! currently executing handler. +class this_server_t { +public: + //! \brief Gracefully stops the server. + void stop(); + + //! \brief Cancels a requested stop operation. + void cancel_stop(); + + friend class rpc::detail::server_session; + +private: + bool stopping_; +}; + +//! \brief A thread-local object that can be used to control +//! the behavior of the server w.r.t. the handler. Accessing this object +//! from handlers that execute the same function concurrently is safe. +//! \note Accessing this object outside of handlers while a server is +//! running is potentially unsafe. +this_server_t &this_server(); + +} /* rpc */ + +#endif /* end of include guard: THIS_SERVER_H_X0CJLVVW */ |