Files
cpp/include/policyHelper.h
2018-12-14 15:54:11 +01:00

244 lines
7.5 KiB
C++

///
/// \file policyHelper.h
/// \author Jan Chrin, PSI
/// \date Release: February 2015
/// \version CAFE 1.0.0
///
#ifndef POLICYHELPER_H
#define POLICYHELPER_H
#include <cadef.h>
#include "helper.h"
#include "defines.h"
#include "hashConduit.h"
#include "hashConduitGroup.h"
#include "conduitFriends.h"
class PolicyHelper : Helper {
private:
CAFEStatus cafeStatus;
cafeConduit_set::iterator itcs;
cafeGroup_set::iterator itgs;
public:
PolicyHelper() {};
~PolicyHelper() {};
int getChannelGetActionWhenMonitorPolicy(unsigned int _handle, ChannelGetActionWhenMonitorPolicy & awmp);
int setChannelGetActionWhenMonitorPolicy(unsigned int _handle, ChannelGetActionWhenMonitorPolicy awmp);
int setChannelGetActionWhenMonitorPolicy(ChannelGetActionWhenMonitorPolicy awmp);
int setChannelGetActionWhenMonitorPolicyAllHandles(ChannelGetActionWhenMonitorPolicy awmp)
{
return setChannelGetActionWhenMonitorPolicy(awmp);
}
int getChannelGetCacheWaitPolicy(unsigned int _handle, ChannelGetCacheWaitPolicy & cwp);
int setChannelGetCacheWaitPolicy(unsigned int _handle, ChannelGetCacheWaitPolicy cwp);
int setChannelGetCacheWaitPolicy(ChannelGetCacheWaitPolicy cwp);
int setChannelGetCacheWaitPolicyAllHandles(ChannelGetCacheWaitPolicy cwp)
{
return setChannelGetCacheWaitPolicy(cwp);
}
int getChannelRequestDataTypePolicy(unsigned int _handle, ChannelRequestDataTypePolicy &crdtp);
int setChannelRequestDataTypePolicy(unsigned int _handle, ChannelRequestDataTypePolicy crdtp);
int setChannelRequestDataTypePolicy(ChannelRequestDataTypePolicy crdtp);
int setChannelRequestDataTypePolicyAllHandles(ChannelRequestDataTypePolicy crdtp)
{
return setChannelRequestDataTypePolicy(crdtp);
}
int getChannelRequestPolicyGet (unsigned int _handle, ChannelRequestPolicy & crpg);
int setChannelRequestPolicyGet (unsigned int _handle, ChannelRequestPolicy crpg);
int setChannelRequestPolicyGet (ChannelRequestPolicy crpg);
int setChannelRequestPolicyGetAllHandles (ChannelRequestPolicy crpg)
{
return setChannelRequestPolicyGet (crpg);
}
int getChannelRequestPolicyPut (unsigned int _handle, ChannelRequestPolicy & crpp);
int setChannelRequestPolicyPut (unsigned int _handle, ChannelRequestPolicy crpp);
int setChannelRequestPolicyPut (ChannelRequestPolicy crpp);
int setChannelRequestPolicyPutAllHandles (ChannelRequestPolicy crpp)
{
return setChannelRequestPolicyPut (crpp);
}
int getChannelTimeoutPolicyGet (unsigned int _handle, ChannelTimeoutPolicy & ctpg);
int setChannelTimeoutPolicyGet (unsigned int _handle, ChannelTimeoutPolicy ctpg);
int getChannelTimeoutPolicyPut (unsigned int _handle, ChannelTimeoutPolicy & ctpp);
int setChannelTimeoutPolicyPut (unsigned int _handle, ChannelTimeoutPolicy ctpp);
int setSelfGoverningTimeout(bool b);
int setSelfGoverningTimeout(unsigned int _handle, bool b);
int setSelfGoverningTimeoutPut(unsigned int _handle, bool p);
int setSelfGoverningTimeoutGet(unsigned int _handle, bool g);
int getSelfGoverningTimeout(unsigned int _handle, bool &p, bool &g);
int setSGSelfGoverningTimeout(bool b);
int setSGSelfGoverningTimeout(unsigned int _handle, bool b);
int setSGSelfGoverningTimeoutPut(unsigned int _handle, bool p);
int setSGSelfGoverningTimeoutGet(unsigned int _handle, bool g);
int getSGSelfGoverningTimeout(unsigned int _handle, bool &p, bool &g);
//Short cuts
//put, get, put, get
int getTimeoutRange (double &p, double &p2, double &g, double &g2)
{
int stp;
int stg;
stp=getTimeoutMin(p,g);
stg=getTimeoutMax(p2, g2);
if (stp!=ICAFE_NORMAL) {
return stp;
}
else if(stg!=ICAFE_NORMAL) {
return stg;
}
else {
return ICAFE_NORMAL;
}
};
int getTimeoutMin (double &p, double &g);
int getTimeoutMax (double &p, double &g);
int getTimeout (unsigned int _handle, double &p, double &g);
//returns lesser of the two
int getTimeout (unsigned int _handle, double &pg)
{
double p;
double g;
int st;
st=getTimeout(_handle, p, g);
pg=std::min(p,g);
return st;
}
int getTimeoutPut(unsigned int _handle, double &p)
{
double g;
return getTimeout(_handle, p, g);
}
int getTimeoutGet(unsigned int _handle, double &g)
{
double p;
return getTimeout(_handle, p, g);
}
int printTimeout ();
int printTimeout (unsigned int _handle);
int setTimeout (double p, double g); // for all handles put and get separately
int setTimeout (double pg)
{
return setTimeout(pg, pg);
};
int setTimeoutPut(double p)
{
return setTimeout(p, (double) NULL);
};
int setTimeoutGet(double g)
{
return setTimeout((double) NULL, g);
};
int setTimeout (unsigned int _handle, double p, double g);
int setTimeout (unsigned int _handle, double pg)
{
return setTimeout(_handle, pg, pg);
};
int setTimeoutPut(unsigned int _handle, double p)
{
return setTimeout(_handle, p, (double) NULL);
};
int setTimeoutGet(unsigned int _handle, double g)
{
return setTimeout(_handle, (double) NULL, g);
};
int setTimeoutToDefault(unsigned int _handle);
int setTimeoutToDefault();
//get SGTimeout
int getSGTimeoutRange (double &p, double &p2, double &g, double &g2)
{
int stp;
int stg;
stp=getSGTimeoutMin(p,g);
stg=getSGTimeoutMax(p2, g2);
if (stp!=ICAFE_NORMAL) {
return stp;
}
else if(stg!=ICAFE_NORMAL) {
return stg;
}
else {
return ICAFE_NORMAL;
}
};
int getSGTimeoutMin (double &p, double &g);
int getSGTimeoutMax (double &p, double &g);
int printSGTimeout ();
int printSGTimeout (unsigned int _handle);
int getSGTimeout (unsigned int _handle, double &p, double &g);
//returns lesser of the two
int getSGTimeout (unsigned int _handle, double &pg)
{
double p;
double g;
int st;
st=getSGTimeout(_handle, p, g);
pg=std::min(p,g);
return st;
}
int getSGTimeoutPut(unsigned int _handle, double &p)
{
double g;
return getSGTimeout(_handle, p, g);
}
int getSGTimeoutGet(unsigned int _handle, double &g)
{
double p;
return getSGTimeout(_handle, p, g);
}
//set SGTimeout
int setSGTimeout (double p, double g); // for all group handles put and get separately
int setSGTimeout (double pg)
{
return setSGTimeout(pg, pg);
};
int setSGTimeoutPut(double p)
{
return setSGTimeout(p, (double) NULL);
};
int setSGTimeoutGet(double g)
{
return setSGTimeout((double) NULL, g);
};
int setSGTimeout (unsigned int _gHandle, double p, double g);
int setSGTimeout (unsigned int _gHandle, double pg)
{
return setSGTimeout(_gHandle, pg, pg);
};
int setSGTimeoutPut(unsigned int _gHandle, double p)
{
return setSGTimeout(_gHandle, p, (double) NULL);
};
int setSGTimeoutGet(unsigned int _gHandle, double g)
{
return setSGTimeout(_gHandle, (double) NULL, g);
};
int setSGTimeoutToDefault(unsigned int _handle);
int setSGTimeoutToDefault();
};
#endif