FuseServerClientThread Class Reference
[FireVision FUSE Network Protocol, FireVision Image Processing Framework and Applications]
FUSE Server Client Thread.
More...
#include <fvutils/net/fuse_server_client_thread.h>

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.
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_getimage_message | ( | FuseNetworkMessage * | m | ) |
Process image request message.
- Parameters:
-
m received message
Definition at line 185 of file fuse_server_client_thread.cpp.
References ImageCompressor::COMP_DEST_MEM, JpegImageCompressor::compress(), JpegImageCompressor::compressed_size(), FUSE_imagereq_message_t::format, FUSE_imagereq_message_t::image_id, FuseNetworkMessage::msg(), FuseNetworkMessage::payload(), FuseNetworkMessage::payload_size(), JpegImageCompressor::recommended_compressed_buffer_size(), JpegImageCompressor::set_compression_destination(), JpegImageCompressor::set_destination_buffer(), JpegImageCompressor::set_image_buffer(), and JpegImageCompressor::set_image_dimensions().
| void FuseServerClientThread::process_getimageinfo_message | ( | FuseNetworkMessage * | m | ) |
Process image info request message.
- Parameters:
-
m received message
Definition at line 236 of file fuse_server_client_thread.cpp.
References FUSE_imageinfo_t::buffer_size, FUSE_imageinfo_t::colorspace, FUSE_imageinfo_t::height, FUSE_imageinfo_t::image_id, FUSE_imagedesc_message_t::image_id, FuseNetworkMessage::msg(), FuseNetworkMessage::payload(), FuseNetworkMessage::payload_size(), and FUSE_imageinfo_t::width.
| void FuseServerClientThread::process_getimagelist_message | ( | FuseNetworkMessage * | m | ) |
Process image list request message.
- Parameters:
-
m received message
Definition at line 350 of file fuse_server_client_thread.cpp.
References FuseImageListContent::add_imageinfo(), SharedMemoryImageBufferHeader::colorspace(), SharedMemoryImageBufferHeader::height(), SharedMemoryImageBufferHeader::image_id(), and SharedMemoryImageBufferHeader::width().
| 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 | ) |
Process LUT list request message.
- Parameters:
-
m received message
Definition at line 377 of file fuse_server_client_thread.cpp.
References FuseLutListContent::add_lutinfo(), SharedMemoryLookupTableHeader::bytes_per_cell(), SharedMemoryLookupTableHeader::depth(), SharedMemoryLookupTableHeader::height(), SharedMemoryLookupTableHeader::lut_id(), and SharedMemoryLookupTableHeader::width().
| 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 | ) |
Process LUT setting.
- Parameters:
-
m received message
Definition at line 301 of file fuse_server_client_thread.cpp.
References fawkes::Exception::append(), FuseLutContent::buffer(), FuseLutContent::bytes_per_cell(), FuseLutContent::depth(), FuseLutContent::height(), FuseLutContent::lut_id(), FuseNetworkMessage::msgc(), and FuseLutContent::width().
| 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:
- src/firevision/fvutils/net/fuse_server_client_thread.h
- src/firevision/fvutils/net/fuse_server_client_thread.cpp

