7#ifndef WATCHED_THREAD_H
8#define WATCHED_THREAD_H
17#include <boost/shared_ptr.hpp>
84 void start(
const std::function<
void()>& thread_main);
88 return (thread_ != 0);
104 void setError(
const std::string& error_msg);
118 void setErrorInternal(
const std::string& error_msg);
121 std::string last_error_;
Provides an IO "ready" semaphore for use with select() or poll() WatchSocket exposes a single open fi...
WatchedThread()
Constructor.
void start(const std::function< void()> &thread_main)
Creates and runs the thread.
int getWatchFd(WatchType watch_type)
Fetches the fd of a watch socket.
bool shouldTerminate()
Checks if the thread should terminate.
void markReady(WatchType watch_type)
Sets a watch socket state to ready.
bool isReady(WatchType watch_type)
Indicates if a watch socket state is ready.
std::string getLastError()
Fetches the error message text for the most recent error.
void clearReady(WatchType watch_type)
Sets a watch socket state to not ready.
WatchType
Enumerates the list of watch sockets used to mark events These are used as arguments to watch socket ...
bool isRunning()
Returns true if the thread is running.
virtual ~WatchedThread()
Virtual destructor.
void stop()
Terminates the thread.
void setError(const std::string &error_msg)
Sets the error state.
boost::shared_ptr< std::thread > ThreadPtr
Thread pointer type.
boost::shared_ptr< WatchedThread > WatchedThreadPtr
Defines a pointer to a WatchedThread.
Defines the logger used by the top-level component of kea-lfc.
Defines the class, WatchSocket.