/* Web Polygraph http://www.web-polygraph.org/
* (C) 2003-2006 The Measurement Factory
* Licensed under the Apache License, Version 2.0 */
#ifndef POLYGRAPH__PGL_PGLSTATICSEMX_H
#define POLYGRAPH__PGL_PGLSTATICSEMX_H
#include "xstd/Time.h"
#include "pgl/PglSemx.h"
class AgentSym;
class NetPipeSym;
class AddrMapSym;
class SslWrapSym;
class ContainerSym;
class MembershipMapSym;
class BenchSym;
class PhaseSym;
class StatsSampleSym;
// interprets calls affecting static configuration
class PglStaticSemx: public PglSemx {
public:
static void Interpret(const String &fname);
static void Destroy();
protected:
virtual void callProc(const String &cname, const ListSym &args);
void use(const ListSym &agents);
void schedule(const ListSym &phases);
void noteSubstitutes(const ListSym &groups);
public:
// used objects
static Array<AgentSym*> TheAgentsToUse;
static Array<NetPipeSym*> TheNetPipesToUse;
static Array<AddrMapSym*> TheAddrMapsToUse;
static Array<SslWrapSym*> TheSslWrapsToUse;
static Array<ContainerSym*> TheAddrSubstsToUse;
static Array<MembershipMapSym*> TheMembershipsToUse;
static BenchSym *TheBench; // bench configuration
// schedules
static Array<PhaseSym*> TheSchedule;
static Array<StatsSampleSym*> TheSmplSchedule;
static Time TheWorkSetLen; // working set length
static int TheWorkSetCap; // working set capacity
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1