Termination.h File Reference

#include "../structs.h"

Include dependency graph for Termination.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _NeighborsData_
struct  _TerminationDetection_
struct  _TerminationFilterInstancesData_
struct  _GlobalTermination_

Defines

#define NOTPARTICIPATING   0
 used to TerminationDetection->status
#define PARTICIPATING   1
 used to TerminationDetection->status
#define EMPTY   0
 used to TerminationDetection->stream
#define FULL   1
 used to TerminationDetection->stream
#define NOTTERMINATED   0
 used to TerminationDetection->nd->neighborTerm and GlobalTermination->tfid->terminate
#define TERMINATED   1
 used to TerminationDetection->nd->neighborTerm and GlobalTermination->tfid->terminate

Typedefs

typedef _NeighborsData_ NeighborData
typedef _TerminationDetection_ TerminationDetection
typedef _TerminationFilterInstancesData_ TerminationFilterInstancesData
typedef _GlobalTermination_ GlobalTermination

Functions

GlobalTerminationinitGlobalTermination (Layout *layout, int numFilterInstances)
int verifyGlobalTermination (int filterInstTid, int filterInstTag)
TerminationDetectioninitTerminationDetection ()
int beginTerminationDetection ()
 Begin a new termination detection round.
int terminationDetectionRound (int neighborTid, int neighborTag)
int updateTermStreamToEmpty (int neighborTid)

Variables

TerminationDetectiontdd
 Global variable that points to data of termination detection.
GlobalTerminationgt
 Global variable that points to data of global termination.


Define Documentation

#define EMPTY   0
 

used to TerminationDetection->stream

Definition at line 8 of file Termination.h.

Referenced by terminationDetectionRound().

#define FULL   1
 

used to TerminationDetection->stream

Definition at line 9 of file Termination.h.

Referenced by updateTermStreamToEmpty().

#define NOTPARTICIPATING   0
 

used to TerminationDetection->status

Definition at line 6 of file Termination.h.

Referenced by dsReadBuffer(), initTerminationDetection(), and updateTermStreamToEmpty().

#define NOTTERMINATED   0
 

used to TerminationDetection->nd->neighborTerm and GlobalTermination->tfid->terminate

Definition at line 10 of file Termination.h.

Referenced by initGlobalTermination(), and terminationDetectionRound().

#define PARTICIPATING   1
 

used to TerminationDetection->status

Definition at line 7 of file Termination.h.

Referenced by beginTerminationDetection(), terminationDetectionRound(), and updateTermStreamToEmpty().

#define TERMINATED   1
 

used to TerminationDetection->nd->neighborTerm and GlobalTermination->tfid->terminate

Definition at line 11 of file Termination.h.

Referenced by terminationDetectionRound(), and verifyGlobalTermination().


Typedef Documentation

typedef struct _GlobalTermination_ GlobalTermination
 

typedef struct _NeighborsData_ NeighborData
 

typedef struct _TerminationDetection_ TerminationDetection
 

typedef struct _TerminationFilterInstancesData_ TerminationFilterInstancesData
 


Function Documentation

int beginTerminationDetection  ) 
 

Begin a new termination detection round.

Definition at line 224 of file Termination.c.

References _TerminationDetection_::localTag, PARTICIPATING, sendTerminationToNeighbors(), _TerminationDetection_::status, and tdd.

Referenced by dsReadBuffer().

Here is the call graph for this function:

GlobalTermination* initGlobalTermination Layout layout,
int  numFilterInstances
 

Definition at line 12 of file Termination.c.

References _GlobalTermination_::currentRoundTag, gt, NOTTERMINATED, _GlobalTermination_::numFilterInstances, _TerminationFilterInstancesData_::terminate, and _GlobalTermination_::tfid.

TerminationDetection* initTerminationDetection  ) 
 

Definition at line 157 of file Termination.c.

References fd, __FilterData__::inputPorts, _TerminationDetection_::localTag, MAXINSTANCES, _TerminationDetection_::nd, NOTPARTICIPATING, __FilterData__::numInputPorts, _TerminationDetection_::numNeighbors, __FilterData__::numOutputPorts, InputPort::numSources, _TerminationDetection_::status, storeNeighborTids(), InputPort::tag, tdd, and InputPort::tidsSources.

Referenced by runFilter().

Here is the call graph for this function:

int terminationDetectionRound int  neighborTid,
int  neighborTag
 

Definition at line 252 of file Termination.c.

References EMPTY, findNeighborId(), _TerminationDetection_::localTag, _TerminationDetection_::nd, _NeighborsData_::neighborTerm, NOTTERMINATED, _TerminationDetection_::numNeighbors, PARTICIPATING, sendTerminationToNeighbors(), _TerminationDetection_::status, _TerminationDetection_::stream, tdd, and TERMINATED.

Referenced by dsReadBuffer(), and dsReadNonBlockingBuffer().

Here is the call graph for this function:

int updateTermStreamToEmpty int  neighborTid  ) 
 

Definition at line 312 of file Termination.c.

References findNeighborId(), FULL, NOTPARTICIPATING, PARTICIPATING, _TerminationDetection_::status, _TerminationDetection_::stream, and tdd.

Referenced by dsReadBuffer(), and dsReadNonBlockingBuffer().

Here is the call graph for this function:

int verifyGlobalTermination int  filterInstTid,
int  filterInstTag
 

used to notify manager this filter ended its work

Definition at line 74 of file Termination.c.

References _GlobalTermination_::currentRoundTag, findFilterInstId(), gt, _GlobalTermination_::numFilterInstances, _TerminationFilterInstancesData_::terminate, TERMINATED, and _GlobalTermination_::tfid.

Here is the call graph for this function:


Variable Documentation

GlobalTermination* gt
 

Global variable that points to data of global termination.

Referenced by findFilterInstId(), initGlobalTermination(), and verifyGlobalTermination().

TerminationDetection* tdd
 

Global variable that points to data of termination detection.

Referenced by beginTerminationDetection(), dsReadBuffer(), findNeighborId(), initTerminationDetection(), runFilter(), sendTerminationToLeader(), sendTerminationToNeighbors(), terminationDetectionRound(), and updateTermStreamToEmpty().


Generated on Tue Jan 17 19:28:07 2006 for Void by  doxygen 1.4.6