Fawkes API  Fawkes Development Version
fawkes::GossipAspectIniFin Class Reference

GossipAspect initializer/finalizer. More...

#include <>>

Inheritance diagram for fawkes::GossipAspectIniFin:

Public Member Functions

 GossipAspectIniFin ()
 Constructor. More...
 
 ~GossipAspectIniFin ()
 Destructor. More...
 
virtual void init (Thread *thread)
 Initialize thread. More...
 
virtual void finalize (Thread *thread)
 Finalize thread. More...
 
void set_manager (GossipGroupManager *gossip_group_mgr)
 Set gossip group manger. More...
 
- Public Member Functions inherited from fawkes::AspectIniFin
 AspectIniFin (const char *aspect_name) __attribute__((nonnull))
 Constructor. More...
 
virtual ~AspectIniFin ()
 Virtual empty destructor. More...
 
virtual bool prepare_finalize (Thread *thread)
 Default finalize preparation. More...
 
const char * get_aspect_name () const
 Get aspect name. More...
 

Detailed Description

GossipAspect initializer/finalizer.

This initializer/finalizer will join and leave gossip groups on behalf of threads with the GossipAspect.

Author
Tim Niemueller

Definition at line 37 of file gossip_inifin.h.

Constructor & Destructor Documentation

◆ GossipAspectIniFin()

fawkes::GossipAspectIniFin::GossipAspectIniFin ( )

Constructor.

Definition at line 42 of file gossip_inifin.cpp.

◆ ~GossipAspectIniFin()

fawkes::GossipAspectIniFin::~GossipAspectIniFin ( )

Destructor.

Definition at line 48 of file gossip_inifin.cpp.

Member Function Documentation

◆ finalize()

void fawkes::GossipAspectIniFin::finalize ( Thread thread)
virtual

Finalize thread.

The aspect for the given thread must be initialized. Use dynamic_cast to cast the thread into the expected aspect class. An exception must be thrown if this fails. If anything fails during initialization of the aspect an Exception must be thrown. This will not prevent the thread from being removed. Use prepare_finalize() to report problems that should prevent the thread from being unloaded.

Parameters
threadthread to finalize

Implements fawkes::AspectIniFin.

Definition at line 72 of file gossip_inifin.cpp.

References fawkes::GossipAspect::gossip_group, fawkes::GossipGroupManager::leave_group(), and fawkes::Thread::name().

◆ init()

void fawkes::GossipAspectIniFin::init ( Thread thread)
virtual

Initialize thread.

The aspect for the given thread must be initialized. Use dynamic_cast to cast the thread into the expected aspect class. An exception must be thrown if this fails. If anything fails during initialization of the aspect an Exception must be thrown.

Parameters
threadthread to initialize

Implements fawkes::AspectIniFin.

Definition at line 55 of file gossip_inifin.cpp.

References fawkes::GossipAspect::gossip_group, fawkes::GossipGroupManager::join_group(), and fawkes::Thread::name().

◆ set_manager()

void fawkes::GossipAspectIniFin::set_manager ( GossipGroupManager gossip_group_mgr)

Set gossip group manger.

Parameters
gossip_group_mgrGossip group manager

Definition at line 91 of file gossip_inifin.cpp.

Referenced by GossipThread::finalize(), and GossipThread::init().


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