Logo Search packages:      
Sourcecode: maude version File versions  Download package

Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Types | Private Member Functions | Private Attributes

SocketManagerSymbol Class Reference

Inheritance diagram for SocketManagerSymbol:
Inheritance graph
[legend]
Collaboration diagram for SocketManagerSymbol:
Collaboration graph
[legend]

List of all members.

Classes

struct  ActiveSocket

Public Types

enum  CtorStatus { IS_CTOR = 1, IS_NON_CTOR = 2, IS_COMPLEX = IS_CTOR | IS_NON_CTOR }
enum  Flags { READ = POLLIN, WRITE = POLLOUT }
enum  ReturnStatus { NOTHING_PENDING = 1, INTERRUPTED = 2, EVENT_HANDLED = 4 }
typedef Vector< int > SourceSet

Public Member Functions

void addOpDeclaration (const Vector< Sort * > &domainAndRange, bool constructorFlag)
int arity () const
bool attachData (const Vector< Sort * > &opDeclaration, const char *purpose, const Vector< const char * > &data)
bool attachSymbol (const char *purpose, Symbol *symbol)
virtual bool attachTerm (const char *purpose, Term *term)
virtual bool canProduceErrorSort () const
virtual bool canResolveTheoryClash ()
void cleanUp (DagNode *objectId)
int compare (const Symbol *other) const
void compileEquations ()
virtual void compileOpDeclarations ()
virtual void compileRules ()
virtual void compileSortConstraints ()
void computeBaseSort (DagNode *subject)
void computeGeneralizedSort (const SortBdds &sortBdds, const Vector< int > &realToBdd, DagNode *subject, Vector< Bdd > &generalizedSort)
void computePossibleDomainSorts (const NatSet &rangeSorts, Vector< NatSet > &domainSorts)
virtual void computeSortFunctionBdds (const SortBdds &sortBdds, Vector< Bdd > &sortFunctionBdds) const
void constrainToExactSort (DagNode *subject, RewritingContext &context)
void constrainToSmallerSort (DagNode *subject, RewritingContext &context)
void copyAttachments (Symbol *original, SymbolMap *map)
virtual void doCallBack ()
void doError (int fd)
void doHungUp (int fd)
const ConnectedComponentdomainComponent (int argNr) const
virtual bool domainSortAlwaysLeqThan (Sort *sort, int argNr)
void doRead (int fd)
virtual void doTimeOut (int fd)
void doWrite (int fd)
bool eagerArgument (int argNr) const
bool eqRewrite (DagNode *subject, RewritingContext &context)
bool equationFree () const
bool evaluatedArgument (int argNr) const
void fastComputeTrueSort (DagNode *subject, RewritingContext &context)
void fillInSortInfo (Term *subject)
void finalizeSortInfo ()
int getCtorStatus () const
void getDataAttachments (const Vector< Sort * > &opDeclaration, Vector< const char * > &purposes, Vector< Vector< const char * > > &data)
const Vector< Equation * > & getEquations () const
const NatSetgetFrozen () const
unsigned int getHashValue ()
int getIndexWithinModule () const
int getLineNumber () const
const NatSetgetMaximalOpDeclSet (Sort *target)
ModulegetModule () const
const Vector< OpDeclaration > & getOpDeclarations () const
const Vector< Rule * > & getRules () const
SortgetSingleNonErrorSort () const
const Vector< SortConstraint * > & getSortConstraints () const
const Vector< int > & getStrategy () const
void getSymbolAttachments (Vector< const char * > &purposes, Vector< Symbol * > &symbols)
virtual void getTermAttachments (Vector< const char * > &purposes, Vector< Term * > &terms)
int getUniqueSortIndex ()
bool handleManagerMessage (DagNode *message, ObjectSystemRewritingContext &context)
bool handleMessage (DagNode *message, ObjectSystemRewritingContext &context)
bool hasFrozenArguments () const
int id () const
virtual bool interSymbolPass ()
virtual bool isConstructor (DagNode *subject)
bool isMemoized () const
bool isStable () const
bool kindLevelDeclarationsOnly () const
DagNodemakeCanonical (DagNode *original, HashConsSet *hcs)
DagNodemakeCanonicalCopy (DagNode *original, HashConsSet *hcs)
DagNodemakeDagNode (const Vector< DagNode * > &args)
TermmakeTerm (const Vector< Term * > &args)
virtual UnificationSubproblemmakeUnificationSubproblem ()
void memoEnter (SourceSet &sourceSet, DagNode *destination)
bool memoRewrite (SourceSet &sourceSet, DagNode *subject, RewritingContext &context)
bool mightMatchPattern (Term *pattern)
void normalizeAndComputeTrueSort (DagNode *subject, RewritingContext &context)
void offerEquation (Equation *equation)
void offerRule (Rule *rule)
void offerSortConstraint (SortConstraint *sortConstraint)
void orderSortConstraints ()
virtual void postInterSymbolPass ()
virtual void postOpDeclarationPass ()
ConnectedComponentrangeComponent () const
virtual bool rangeSortAlwaysLeqThan (Sort *sort)
virtual bool rangeSortNeverLeqThan (Sort *sort)
void requestCallBack (long notBefore=0)
virtual void reset ()
virtual void resetRules ()
virtual void restoreHiddenState ()
bool ruleFree () const
virtual DagNoderuleRewrite (DagNode *subject, RewritingContext &context)
virtual void saveHiddenState ()
virtual void setFrozen (const NatSet &frozen)
void setLineNumber (int lineNr)
void setModuleInfo (Module *module, int indexWithinModule)
void setStrategy (const Vector< int > &userStrategy, int nrArgs, bool memoFlag)
 SocketManagerSymbol (int id)
bool sortConstraintFree () const
void stackArguments (DagNode *subject, Vector< RedexPosition > &stack, int parentIndex)
bool standardStrategy () const
int traverse (int position, int sortIndex) const
bool unevaluatedArguments () const
virtual int unificationPriority () const
void wantTo (int flags, int fd, long timeOutAt=NONE)

Static Public Member Functions

static void clearFlags (int fd)
static int eventLoop ()
static FreeSymbolnewFreeSymbol (int id, int arity, const Vector< int > &strategy=standard, bool memoFlag=false)

Protected Member Functions

bool acceptEquation (Equation *equation)
bool acceptRule (Rule *rule)
bool acceptSortConstraint (SortConstraint *sortConstraint)
bool applyReplace (DagNode *subject, RewritingContext &context, ExtensionInfo *extensionInfo=0)
bool applyReplaceNoOwise (DagNode *subject, RewritingContext &context, ExtensionInfo *extensionInfo=0)
DagNodeapplyRules (DagNode *subject, RewritingContext &context, ExtensionInfo *extensionInfo)
int ctorTraverse (int position, int sortIndex) const
void resetEachRule ()
bool safeToInspectSortConstraints ()
bool specialSortHandling () const

Protected Attributes

FreeNet discriminationNet

Static Protected Attributes

static const Vector< int > standard

Private Types

enum  Sizes { READ_BUFFER_SIZE = 4096 }
typedef map< int, ActiveSocketSocketMap
enum  SocketState {
  NOMINAL = 0, WAITING_TO_CONNECT = 1, WAITING_TO_READ = 2, WAITING_TO_WRITE = 4,
  LISTENING = 8, WAITING_TO_ACCEPT = 16
}

Private Member Functions

bool acceptClient (FreeDagNode *message, ObjectSystemRewritingContext &context)
void acceptedClientReply (const char *addr, int fd, FreeDagNode *originalMessage, ObjectSystemRewritingContext &context)
void closedSocketReply (int socketId, const char *errorMessage, FreeDagNode *originalMessage, ObjectSystemRewritingContext &context)
bool closeSocket (FreeDagNode *message, ObjectSystemRewritingContext &context)
bool createClientTcpSocket (FreeDagNode *message, ObjectSystemRewritingContext &context)
void createdSocketReply (int fd, FreeDagNode *originalMessage, ObjectSystemRewritingContext &context)
bool createServerTcpSocket (FreeDagNode *message, ObjectSystemRewritingContext &context)
void errorReply (const char *errorMessage, FreeDagNode *orignalMessage, ObjectSystemRewritingContext &context)
bool getActiveSocket (DagNode *socketArg, int &socketId)
bool getPort (DagNode *protocolArg, int &protocol)
bool getText (DagNode *textArg, crope &text)
 NO_COPYING (SocketManagerSymbol)
bool receive (FreeDagNode *message, ObjectSystemRewritingContext &context)
void receivedMsgReply (char buffer[], ssize_t length, FreeDagNode *originalMessage, ObjectSystemRewritingContext &context)
bool send (FreeDagNode *message, ObjectSystemRewritingContext &context)
void sentMsgReply (FreeDagNode *originalMessage, ObjectSystemRewritingContext &context)
bool setNonblockingFlag (int fd, FreeDagNode *message, ObjectSystemRewritingContext &context)

Private Attributes

SocketMap activeSockets

Detailed Description

Definition at line 33 of file socketManagerSymbol.hh.


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

Generated by  Doxygen 1.6.0   Back to index