35#include "UtReferenceTracked.hpp"
63 unsigned int aAssignerRIPRProcId,
64 std::string& aJobName,
65 std::string& aJobDescription,
74 void Update(
double aSimTime);
76 void BidJob(
unsigned int aBidderRIPRProcId,
double aBid,
double aProgress);
77 void BidJob(
unsigned int aBidderRIPRProcId,
double aBid);
79 ripr::RIPRBidderList::iterator
UnbidJob(
unsigned int aQuitterRIPRProcId);
83 double GetBid(
unsigned int aRIPRProcId)
const;
95 void SetProgress(
unsigned int aRIPRProcId,
double aProgress);
99 int GetRank(
unsigned int aBidderRIPRProcId);
121 static void Reset() { mNextJobId = 0; }
129 mAssignerProcessorId& mId& mCurrentTime;
145 double aProgress = 0);
199 unsigned int mAssignerProcessorId;
212 static int mNextJobId;
224 void Destroy(
void* aObjectPtr)
override;
ut::script::Data UtScriptData
Definition WsfScriptContext.hpp:47
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
void Serialize(T &aBuff)
For XIO (de)serialization.
Definition WsfObject.hpp:104
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
static int DependencyCount(int aDependentJobId)
Definition WsfRIPRJobBoard.hpp:166
static std::set< int > & DependenciesForJob(int aJobId)
Definition WsfRIPRJobBoard.hpp:153
static bool DependencyCheck(int aDependentJobId, int aDependedOnJobId)
Definition WsfRIPRJobBoard.hpp:162
static void DependencyRemove(int aDependentJobId, int aDependedOnJobId)
Definition WsfRIPRJobBoard.hpp:158
static void DependencyAdd(int aDependentJobId, int aDependedOnJobId)
Definition WsfRIPRJobBoard.hpp:154
Definition WsfRIPRJob.hpp:57
void Serialize(T &aBuff)
For XIO (de)serialization.
Definition WsfRIPRJob.hpp:125
ripr::RIPRBidderList GetBidders() const
Definition WsfRIPRJob.hpp:85
void SetWinnersMin(const int aNum)
Sets the minimum number of bidders who can win this job.
Definition WsfRIPRJob.cpp:438
void Update(double aSimTime)
Definition WsfRIPRJob.cpp:155
void SetWinnersMax(const int aNum)
Sets the maximum number of bidders who can win this job.
Definition WsfRIPRJob.cpp:426
void SendMessageUnbidJob(wsf::comm::Comm *aCommPtr, WsfRIPRProcessor *aBidderPtr, int aChannelIndex)
Definition WsfRIPRJob.cpp:545
double GetBestProgress()
Definition WsfRIPRJob.cpp:193
ripr::RIPRBidderList::iterator UnbidJob(unsigned int aQuitterRIPRProcId)
Definition WsfRIPRJob.cpp:261
void SetBidWindowOpen(const bool aValue)
Definition WsfRIPRJob.hpp:136
bool DependencyCheck(int aDependedOnJobId)
Definition WsfRIPRJob.hpp:167
WsfRIPRJob & operator=(const WsfRIPRJob &aSrc)
Definition WsfRIPRJob.cpp:130
~WsfRIPRJob() override
Definition WsfRIPRJob.cpp:121
void BidJob(unsigned int aBidderRIPRProcId, double aBid, double aProgress)
Definition WsfRIPRJob.cpp:211
int GetRank(unsigned int aBidderRIPRProcId)
Definition WsfRIPRJob.cpp:360
WsfStringId AssignerProcessorName() const
Definition WsfRIPRJob.cpp:410
WsfRIPRJob * Clone() const override
Definition WsfRIPRJob.hpp:69
size_t AssignerPlatformIndex() const
Definition WsfRIPRJob.cpp:386
double CurrentTime() const
Definition WsfRIPRJob.hpp:134
ripr::RIPRBidderList mBidders
list of pairs matching bidders (by proc id) to their bids (doubles)
Definition WsfRIPRJob.hpp:153
void SetPriority(const double aPriority)
Set the job's priority.
Definition WsfRIPRJob.cpp:448
WsfSimulation * GetSimulation() const
Definition WsfRIPRJob.cpp:574
void DependencyAdd(int aDependedOnJobId)
Definition WsfRIPRJob.hpp:165
WsfRIPRProcessor * Assigner() const
Definition WsfRIPRJob.cpp:420
void SendMessageSetProgress(wsf::comm::Comm *aCommPtr, WsfRIPRProcessor *aBidderPtr, int aChannelIndex, double aProgress)
Definition WsfRIPRJob.cpp:480
double GetProgress(unsigned int aBidderRIPRProcId)
Definition WsfRIPRJob.cpp:348
const ripr::RIPRJobDataMap & Data() const
Definition WsfRIPRJob.hpp:114
int GetWinnersMax() const
Definition WsfRIPRJob.hpp:111
WsfStringId AssignerPlatformName() const
Definition WsfRIPRJob.cpp:376
WsfRIPRManager * GetManager() const
Definition WsfRIPRJob.hpp:147
double GetPriority() const
Definition WsfRIPRJob.hpp:110
double GetBid(unsigned int aRIPRProcId) const
Definition WsfRIPRJob.cpp:316
std::string Description() const
Definition WsfRIPRJob.hpp:113
void DependencyRemove(int aDependedOnJobId)
Definition WsfRIPRJob.hpp:166
int GetId() const
Definition WsfRIPRJob.cpp:183
WsfRIPRManager * mManagerPtr
Definition WsfRIPRJob.hpp:150
static int NextId()
Definition WsfRIPRJob.cpp:178
void SendMessageBidJob(wsf::comm::Comm *aCommPtr, WsfRIPRProcessor *aBidderPtr, int aChannelIndex, double aBid, double aProgress=0)
Definition WsfRIPRJob.cpp:510
unsigned int AssignerProcessorId() const
Definition WsfRIPRJob.hpp:103
WsfPlatform * AssignerPlatform() const
Definition WsfRIPRJob.cpp:396
int GetWinnersMin() const
Definition WsfRIPRJob.hpp:112
static void Reset()
Definition WsfRIPRJob.hpp:121
int DependencyCount()
Definition WsfRIPRJob.hpp:168
ripr::RIPRJobProgressMap mProgress
mapping between proc ids and progress performing this job
Definition WsfRIPRJob.hpp:156
void ClearBidders()
Definition WsfRIPRJob.cpp:296
void SetProgress(WsfRIPRProcessor *aBidderPtr, int aChannelIndex, double aProgress)
Definition WsfRIPRJob.cpp:343
WsfRIPRJob(WsfRIPRManager *aManagerPtr)
Definition WsfRIPRJob.cpp:56
std::string mDescription
a human-readable string describing this job
Definition WsfRIPRJob.hpp:159
double TouchTime()
Definition WsfRIPRJob.hpp:171
std::set< int > & Dependencies()
Definition WsfRIPRJob.hpp:164
static bool CompareBidders(const ripr::RIPRBidderPair &first, const ripr::RIPRBidderPair &second)
Definition WsfRIPRJob.cpp:188
ripr::RIPRJobDataMap mData
key/value pairs of auxiliary data attached to this job
Definition WsfRIPRJob.hpp:162
bool IsBidWindowOpen() const
Definition WsfRIPRJob.hpp:137
void Touch()
Definition WsfRIPRJob.cpp:475
Definition WsfRIPRManager.hpp:71
Definition WsfRIPRProcessor.hpp:45
void * Create(const UtScriptContext &aInstance) override
Definition WsfScriptObjectClass.cpp:44
WsfScriptObjectClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfScriptObjectClass.cpp:24
UT_DECLARE_SCRIPT_METHOD(UnbidJob_1)
UT_DECLARE_SCRIPT_METHOD(Winners)
UT_DECLARE_SCRIPT_METHOD(Progress_1)
WsfScriptRIPRJobClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfRIPRJob.cpp:580
UT_DECLARE_SCRIPT_METHOD(Description)
UT_DECLARE_SCRIPT_METHOD(SetWinnersMax)
UT_DECLARE_SCRIPT_METHOD(DependencyRemove)
UT_DECLARE_SCRIPT_METHOD(ClearBidders)
UT_DECLARE_SCRIPT_METHOD(SetWinnersMin)
UT_DECLARE_SCRIPT_METHOD(BestProgress)
UT_DECLARE_SCRIPT_METHOD(Data_1)
UT_DECLARE_SCRIPT_METHOD(SetPriority)
UT_DECLARE_SCRIPT_METHOD(Data_2)
UT_DECLARE_SCRIPT_METHOD(Rank_2)
UT_DECLARE_SCRIPT_METHOD(WinnersMin)
UT_DECLARE_SCRIPT_METHOD(GetName)
UT_DECLARE_SCRIPT_METHOD(Progress_2)
UT_DECLARE_SCRIPT_METHOD(DependencyCheck)
UT_DECLARE_SCRIPT_METHOD(DependencyAdd)
UT_DECLARE_SCRIPT_METHOD(DependenciesForJob)
UT_DECLARE_SCRIPT_METHOD(Priority)
UT_DECLARE_SCRIPT_METHOD(TouchTime)
UT_DECLARE_SCRIPT_METHOD(Id)
UT_DECLARE_SCRIPT_METHOD(SetProgress_1)
UT_DECLARE_SCRIPT_METHOD(BidJob_4)
UT_DECLARE_SCRIPT_METHOD(Rank_1)
UT_DECLARE_SCRIPT_METHOD(DependencyCount)
void Destroy(void *aObjectPtr) override
Definition WsfRIPRJob.cpp:640
UT_DECLARE_SCRIPT_METHOD(GetBid_2)
UT_DECLARE_SCRIPT_METHOD(Create)
UT_DECLARE_SCRIPT_METHOD(WinnersMax)
UT_DECLARE_SCRIPT_METHOD(Assigner)
UT_DECLARE_SCRIPT_METHOD(BidJob_2)
UT_DECLARE_SCRIPT_METHOD(Touch)
UT_DECLARE_SCRIPT_METHOD(BidJob_1)
UT_DECLARE_SCRIPT_METHOD(GetBid_1)
UT_DECLARE_SCRIPT_METHOD(WinnersActual)
UT_DECLARE_SCRIPT_METHOD(UnbidJob_2)
UT_DECLARE_SCRIPT_METHOD(SetProgress_2)
UT_DECLARE_SCRIPT_METHOD(SetData)
UT_DECLARE_SCRIPT_METHOD(BidJob_3)
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfComm.hpp:43
std::map< UtScriptData, UtScriptData > RIPRJobDataMap
Definition WsfRIPRCommon.hpp:29
std::list< RIPRBidderPair > RIPRBidderList
Definition WsfRIPRCommon.hpp:34
std::pair< unsigned int, double > RIPRBidderPair
Definition WsfRIPRCommon.hpp:33
std::map< unsigned int, double > RIPRJobProgressMap
Definition WsfRIPRCommon.hpp:32
Definition WsfComm.cpp:34
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32