Fawkes API
Fawkes Development Version
|
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>
29 #include <sys/types.h>
36 namespace firevision {
38 class FuseNetworkMessageQueue;
39 class FuseNetworkMessage;
40 class 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_;
A LockQueue of FuseNetworkMessage to hold messages in inbound and outbound queues.
Mutex mutual exclusion lock.
Wait until a given condition holds.
FuseClient(const char *hostname, unsigned short int port, FuseClientHandler *handler)
Constructor.
void disconnect()
Disconnect.
void wait()
Wait for messages.
Fawkes library namespace.
virtual void loop()
Thread loop.
virtual ~FuseClient()
Destructor.
void enqueue_and_wait(FuseNetworkMessage *message)
Enqueue message and wait for reply.
Thread class encapsulation of pthreads.
TCP stream socket over IP.
void enqueue(FuseNetworkMessage *m)
Enqueue message.
void wait_greeting()
Wait for greeting message.