FuseServerClientThread Class Reference
[FireVision FUSE Network ProtocolFireVision Image Processing Framework and Applications]

FUSE Server Client Thread. More...

#include <fvutils/net/fuse_server_client_thread.h>

Inheritance diagram for FuseServerClientThread:

List of all members.


Public Member Functions

 FuseServerClientThread (FuseServer *fuse_server, fawkes::StreamSocket *s)
 Constructor.
virtual ~FuseServerClientThread ()
 Destructor.
void recv ()
 Receive data.
void send ()
 Send all messages in outbound queue.
virtual void loop ()
 Code to execute in the thread.
void process_greeting_message (FuseNetworkMessage *m)
 Process greeting message.
void process_getimage_message (FuseNetworkMessage *m)
 Process image request message.
void process_getimageinfo_message (FuseNetworkMessage *m)
 Process image info request message.
void process_getimagelist_message (FuseNetworkMessage *m)
 Process image list request message.
void process_getlut_message (FuseNetworkMessage *m)
 Process LUT request message.
void process_setlut_message (FuseNetworkMessage *m)
 Process LUT setting.
void process_getlutlist_message (FuseNetworkMessage *m)
 Process LUT list request message.

Detailed Description

FUSE Server Client Thread.

This thread is instantiated and started for each client that connects to a FuseServer.

Author:
Tim Niemueller

Definition at line 43 of file fuse_server_client_thread.h.


Constructor & Destructor Documentation

FuseServerClientThread::FuseServerClientThread ( FuseServer fuse_server,
fawkes::StreamSocket s 
)

Constructor.

Parameters:
fuse_server parent FUSE server
s socket to client

Definition at line 62 of file fuse_server_client_thread.cpp.

References FUSE_greeting_message_t::version.

FuseServerClientThread::~FuseServerClientThread (  )  [virtual]

Destructor.

Definition at line 82 of file fuse_server_client_thread.cpp.

References fawkes::RefCount::unref().


Member Function Documentation

void FuseServerClientThread::loop (  )  [virtual]

Code to execute in the thread.

Implement this method to hold the code you want to be executed continously. If you do not implement this method, the default is that the thread will exit. This is useful if you choose to only implement once().

Reimplemented from fawkes::Thread.

Definition at line 449 of file fuse_server_client_thread.cpp.

References FuseServer::connection_died(), fawkes::Socket::poll(), recv(), and send().

void FuseServerClientThread::process_getimageinfo_message ( FuseNetworkMessage m  ) 

void FuseServerClientThread::process_getimagelist_message ( FuseNetworkMessage m  ) 

void FuseServerClientThread::process_getlut_message ( FuseNetworkMessage m  ) 

Process LUT request message.

Parameters:
m received message

Definition at line 268 of file fuse_server_client_thread.cpp.

References FUSE_lutdesc_message_t::lut_id, FuseNetworkMessage::msg(), FuseNetworkMessage::payload(), and FuseNetworkMessage::payload_size().

void FuseServerClientThread::process_getlutlist_message ( FuseNetworkMessage m  ) 

void FuseServerClientThread::process_greeting_message ( FuseNetworkMessage m  ) 

Process greeting message.

Parameters:
m received message

Definition at line 150 of file fuse_server_client_thread.cpp.

References FuseNetworkMessage::msg(), and FUSE_greeting_message_t::version.

void FuseServerClientThread::process_setlut_message ( FuseNetworkMessage m  ) 

void FuseServerClientThread::recv (  ) 

Receive data.

Receives data from the network if there is any and then processes all inbound messages.

Definition at line 134 of file fuse_server_client_thread.cpp.

References fawkes::Socket::close(), and FuseServer::connection_died().

Referenced by loop().

void FuseServerClientThread::send (  ) 

Send all messages in outbound queue.

Definition at line 116 of file fuse_server_client_thread.cpp.

References FuseServer::connection_died().

Referenced by loop().


The documentation for this class was generated from the following files: