LoadServer Class Reference

#include <loadbalance.h>

Inherited by AffineEngine, AgingServer, BlendEngine, BlurZoomServer, BrightnessEngine, BurnServer, ChromaKeyServer, ChromaKeyServer, DiffKeyEngine, DotServer, DownSampleServer, FadeEngine, FrameWriter, GammaEngine, GlyphEngine, GradientServer, HistogramEngine, HistogramEngine, HoloServer, HueEngine, InterpolatePixelsEngine, IVTCEngine, LinearBlurEngine, MaskEngine, MotionBlurEngine, MotionScan, OilServer, PolarEngine, RadialBlurEngine, RotateScan, ScaleEngine, ScaleTranslateEngine, ThresholdEngine, TimeFrontServer, TitleEngine, TitleTranslate, TranslateEngine, UnsharpEngine, VideoScopeEngine, WaveServer, WhirlEngine, and ZoomBlurEngine.

Collaboration diagram for LoadServer:

Collaboration graph
[legend]

Public Member Functions

 LoadServer (int total_clients, int total_packages)
virtual ~LoadServer ()
virtual void init_packages ()
virtual LoadClientnew_client ()
virtual LoadPackagenew_package ()
void process_packages ()
void process_single ()
int get_total_packages ()
int get_total_clients ()
LoadPackageget_package (int number)
LoadClientget_client (int number)
void set_package_count (int total_packages)
void delete_clients ()
void create_clients ()
void delete_packages ()
void create_packages ()

Private Attributes

int current_package
LoadPackage ** packages
int total_packages
LoadClient ** clients
LoadClientsingle_client
int total_clients
int is_single
Mutexclient_lock

Friends

class LoadClient

Detailed Description

Definition at line 57 of file loadbalance.h.


Constructor & Destructor Documentation

LoadServer::LoadServer ( int  total_clients,
int  total_packages 
)

Definition at line 115 of file loadbalance.C.

References client_lock, clients, current_package, is_single, packages, and single_client.

LoadServer::~LoadServer (  )  [virtual]

Definition at line 129 of file loadbalance.C.

References client_lock, delete_clients(), and delete_packages().

Here is the call graph for this function:


Member Function Documentation

virtual void LoadServer::init_packages (  )  [inline, virtual]

virtual LoadClient* LoadServer::new_client (  )  [inline, virtual]

virtual LoadPackage* LoadServer::new_package (  )  [inline, virtual]

void LoadServer::process_packages (  ) 

Definition at line 220 of file loadbalance.C.

References clients, LoadClient::completion_lock, LoadPackage::completion_lock, create_clients(), create_packages(), current_package, init_packages(), LoadClient::input_lock, is_single, Condition::lock(), packages, total_clients, total_packages, and Condition::unlock().

Referenced by FadeEngine::do_fade(), MaskEngine::do_mask(), UnsharpEngine::do_unsharp(), TitleMain::draw_glyphs(), TitleMain::draw_mask(), OverlayFrame::overlay(), TitleMain::overlay_mask(), AffineEngine::process(), ZoomBlurMain::process_buffer(), TimeFrontMain::process_buffer(), RadialBlurMain::process_buffer(), LinearBlurMain::process_buffer(), InterpolatePixelsMain::process_buffer(), HueEffect::process_buffer(), GradientMain::process_buffer(), DiffKey::process_buffer(), ChromaKeyHSV::process_buffer(), ChromaKey::process_buffer(), BrightnessMain::process_buffer(), ThresholdEngine::process_packages(), HistogramEngine::process_packages(), GammaEngine::process_packages(), WhirlEffect::process_realtime(), WaveEffect::process_realtime(), PolarEffect::process_realtime(), OilEffect::process_realtime(), MotionBlurMain::process_realtime(), IVTCMain::process_realtime(), HoloMain::process_realtime(), DownSampleMain::process_realtime(), DotMain::process_realtime(), BurnMain::process_realtime(), BlurZoomMain::process_realtime(), AgingMain::process_realtime(), VideoScopeEffect::render_gui(), AffineEngine::rotate(), RotateScan::scan_frame(), MotionScan::scan_frame(), and FrameWriter::write_frames().

Here is the call graph for this function:

void LoadServer::process_single (  ) 

Definition at line 251 of file loadbalance.C.

References create_clients(), create_packages(), current_package, init_packages(), is_single, LoadClient::run_single(), and single_client.

Referenced by AffineEngine::process(), and AffineEngine::rotate().

Here is the call graph for this function:

int LoadServer::get_total_packages (  ) 

int LoadServer::get_total_clients (  ) 

LoadPackage * LoadServer::get_package ( int  number  ) 

LoadClient * LoadServer::get_client ( int  number  ) 

void LoadServer::set_package_count ( int  total_packages  ) 

Definition at line 160 of file loadbalance.C.

References create_packages(), and delete_packages().

Referenced by TitleMain::draw_glyphs(), TitleMain::draw_mask(), RotateScan::scan_frame(), MotionScan::scan_frame(), and FrameWriter::write_frames().

Here is the call graph for this function:

void LoadServer::delete_clients (  ) 

Definition at line 136 of file loadbalance.C.

References clients, single_client, and total_clients.

Referenced by ~LoadServer().

void LoadServer::create_clients (  ) 

Definition at line 168 of file loadbalance.C.

References clients, is_single, new_client(), LoadClient::server, single_client, Thread::start(), and total_clients.

Referenced by process_packages(), and process_single().

Here is the call graph for this function:

void LoadServer::delete_packages (  ) 

Reimplemented in MaskEngine.

Definition at line 149 of file loadbalance.C.

References packages, and total_packages.

Referenced by set_package_count(), and ~LoadServer().

void LoadServer::create_packages (  ) 

Definition at line 188 of file loadbalance.C.

References new_package(), packages, and total_packages.

Referenced by process_packages(), process_single(), and set_package_count().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class LoadClient [friend]

Definition at line 63 of file loadbalance.h.


Field Documentation

Definition at line 101 of file loadbalance.h.

Referenced by create_clients(), delete_clients(), LoadServer(), and process_single().

Definition at line 102 of file loadbalance.h.

Referenced by create_clients(), delete_clients(), get_total_clients(), and process_packages().

int LoadServer::is_single [private]

Definition at line 104 of file loadbalance.h.

Referenced by LoadServer(), LoadClient::run(), and ~LoadServer().


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

Generated on Mon Apr 28 14:29:47 2008 for Cinelerra by  doxygen 1.5.5