#define STREAM_ID "stream"
#define STREAM_URL "http://gruessi.zrh.sesse.net:4013/"
#define BACKLOG_SIZE 1048576
+#define PORT 9094
using namespace std;
+// Locks a pthread mutex, RAII-style.
+class MutexLock {
+public:
+ MutexLock(pthread_mutex_t *mutex);
+ ~MutexLock();
+
+private:
+ pthread_mutex_t *mutex;
+};
+
+MutexLock::MutexLock(pthread_mutex_t *mutex)
+ : mutex(mutex)
+{
+ pthread_mutex_lock(mutex);
+}
+
+MutexLock::~MutexLock()
+{
+ pthread_mutex_unlock(mutex);
+}
+
struct Client {
enum State { READING_REQUEST, SENDING_HEADER, SENDING_DATA };
State state;