fawkes::BlackBoardNetworkHandler Class Reference

BlackBoard Network Handler. More...

#include <blackboard/net/handler.h>

Inheritance diagram for fawkes::BlackBoardNetworkHandler:

[legend]
List of all members.

Public Member Functions

 BlackBoardNetworkHandler (BlackBoard *blackboard, FawkesNetworkHub *hub)
 Constructor.
 ~BlackBoardNetworkHandler ()
 Destructor.
virtual void handle_network_message (FawkesNetworkMessage *msg)
 Handle network message.
virtual void client_connected (unsigned int clid)
 Client connected.
virtual void client_disconnected (unsigned int clid)
 Client disconnected.
virtual void loop ()
 Process all network messages that have been received.

Protected Member Functions

virtual void run ()
 Stub to see name in backtrace for easier debugging.

Detailed Description

BlackBoard Network Handler.

This class provides a network handler that can be registered with the FawkesServerThread to handle client requests to a BlackBoard instance.

Author:
Tim Niemueller

Definition at line 41 of file handler.h.


Constructor & Destructor Documentation

fawkes::BlackBoardNetworkHandler::BlackBoardNetworkHandler ( BlackBoard blackboard,
FawkesNetworkHub hub 
)

Constructor.

Parameters:
blackboard BlackBoard instance to provide network access to
hub Fawkes network hub

Definition at line 56 of file handler.cpp.

References fawkes::FawkesNetworkHub::add_handler().

fawkes::BlackBoardNetworkHandler::~BlackBoardNetworkHandler (  ) 

Destructor.

Definition at line 68 of file handler.cpp.

References fawkes::BlackBoard::close(), and fawkes::FawkesNetworkHub::remove_handler().


Member Function Documentation

void fawkes::BlackBoardNetworkHandler::client_connected ( unsigned int  clid  )  [virtual]

Client connected.

Ignored.

Parameters:
clid client ID

Implements fawkes::FawkesNetworkHandler.

Definition at line 351 of file handler.cpp.

void fawkes::BlackBoardNetworkHandler::client_disconnected ( unsigned int  clid  )  [virtual]

Client disconnected.

If the client had opened any interfaces these are closed.

Parameters:
clid client ID

Implements fawkes::FawkesNetworkHandler.

Definition at line 361 of file handler.cpp.

References fawkes::BlackBoard::close(), and fawkes::LibLogger::log_debug().

void fawkes::BlackBoardNetworkHandler::handle_network_message ( FawkesNetworkMessage msg  )  [virtual]

Handle network message.

The message is put into the inbound queue and processed in processAfterLoop().

Parameters:
msg message

Implements fawkes::FawkesNetworkHandler.

Definition at line 339 of file handler.cpp.

References fawkes::RefCount::ref(), and fawkes::Thread::wakeup().

void fawkes::BlackBoardNetworkHandler::loop (  )  [virtual]

Process all network messages that have been received.

Reimplemented from fawkes::Thread.

Definition at line 84 of file handler.cpp.

References fawkes::BB_ERR_HASH_MISMATCH, fawkes::BB_ERR_UNKNOWN_ERR, fawkes::BB_ERR_UNKNOWN_TYPE, fawkes::BB_ERR_WRITER_EXISTS, fawkes::BlackBoard::close(), fawkes::bb_imessage_msg_t::data_size, fawkes::bb_idata_msg_t::data_size, fawkes::Message::datasize(), fawkes::bb_iopen_msg_t::hash, fawkes::Interface::hash(), fawkes::bb_imessage_msg_t::hops, fawkes::bb_iopen_msg_t::id, fawkes::BlackBoard::list_all(), fawkes::LibLogger::log_debug(), fawkes::LibLogger::log_error(), fawkes::LibLogger::log_warn(), fawkes::bb_imessage_msg_t::msg_type, fawkes::bb_imessage_msg_t::msgid, fawkes::BlackBoard::open_for_reading(), fawkes::BlackBoard::open_for_writing(), fawkes::FawkesNetworkHub::send(), fawkes::bb_imessage_msg_t::serial, fawkes::bb_idata_msg_t::serial, fawkes::bb_iserial_msg_t::serial, fawkes::Interface::serial(), fawkes::Message::set_from_chunk(), fawkes::Message::set_hops(), fawkes::Message::set_id(), and fawkes::bb_iopen_msg_t::type.

virtual void fawkes::BlackBoardNetworkHandler::run (  )  [inline, protected, virtual]

Stub to see name in backtrace for easier debugging.

See also:
Thread::run()

Reimplemented from fawkes::Thread.

Definition at line 57 of file handler.h.

References fawkes::Thread::run().


The documentation for this class was generated from the following files:
Generated on Tue Feb 22 13:31:37 2011 for Fawkes API by  doxygen 1.4.7