24#ifndef _FIREVISION_FVUTILS_NET_FUSE_CLIENT_H_
25#define _FIREVISION_FVUTILS_NET_FUSE_CLIENT_H_
27#include <core/threading/thread.h>
28#include <fvutils/net/fuse.h>
38class FuseNetworkMessageQueue;
39class FuseNetworkMessage;
40class FuseClientHandler;
52 void enqueue(FUSE_message_type_t type,
void *payload,
size_t payload_size);
53 void enqueue(FUSE_message_type_t type);
55 void enqueue_and_wait(FUSE_message_type_t type,
void *payload,
size_t payload_size);
68 unsigned short int port_;
71 unsigned int wait_timeout_;
82 bool greeting_received_;
Mutex mutual exclusion lock.
TCP stream socket over IP.
Thread class encapsulation of pthreads.
Wait until a given condition holds.
virtual void loop()
Thread loop.
FuseClient(const char *hostname, unsigned short int port, FuseClientHandler *handler)
Constructor.
void wait_greeting()
Wait for greeting message.
void enqueue_and_wait(FuseNetworkMessage *message)
Enqueue message and wait for reply.
void enqueue(FuseNetworkMessage *m)
Enqueue message.
void wait()
Wait for messages.
void disconnect()
Disconnect.
virtual ~FuseClient()
Destructor.
A LockQueue of FuseNetworkMessage to hold messages in inbound and outbound queues.
Fawkes library namespace.