org.abora.gold.rcmain
Class ServerLoop

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.fm.support.Thunk
                    |
                    +--org.abora.gold.rcmain.ServerLoop
Direct Known Subclasses:
SelectServerLoop

public class ServerLoop
extends Thunk

This is the superclass of all server loops. There is only one instance of this class in
any backend. Its execute method is the central backend processing loop. When an instance
is created, its creation method must register it with this class. At that time, all
listeners that have been created up to this point will be passed to the new server loop
instance. After this time, new listeners will be passed to the serverloop instance as
they register themselves with this class.


Field Summary
protected  MuSet myActiveChunks
           
protected  Category myCategory
           
protected static ServerLoop MyServerLoopInstance
           
protected  Stepper myStepper
           
protected  boolean myTerminateFlag
           
protected static MuSet TheChunks
           
 
Fields inherited from class org.abora.gold.xpp.basic.Heaper
AllBlasts, BecomeMap, GarbageCount, InGC, InitializedClasses, InitializingClasses, LastMemory, NextClientRequestNumber, NotOneElementSignal, PackageTable, PromiseNameTable, StringHashSBoxes
 
Fields inherited from class org.abora.gold.java.AboraHeaper
ActiveClubs, CurrentAuthor, CurrentBertCanopyCache, CurrentBertCrum, CurrentChunk, CurrentGrandMap, CurrentKeyMaster, CurrentPacker, CurrentSensorCanopyCache, CurrentServer, CurrentSession, CurrentSessions, CurrentTrace, InitialEditClub, InitialOwner, InitialReadClub, InitialSponsor, InsideTransactionFlag
 
Constructor Summary
ServerLoop()
           
ServerLoop(Rcvr receiver)
           
 
Method Summary
 MuSet activeChunks()
           
static MuSet chunks()
           
static void cleanupGarbage()
          Heaper cleanupGarbage
static ServerLoop currentServerLoop()
           
 void deregisterChunk(ServerChunk aChunk)
          subclasses should call me too
 void execute()
          Execute the action defined by this thunk.
static void initTimeNonInherited()
           
static void introduceChunk(ServerChunk aChunk)
           
static void linkTimeNonInherited()
           
 void registerChunk(ServerChunk aChunk)
          subclass must call this one first
static void registerServerLoop(ServerLoop aLoop)
           
static void removeChunk(ServerChunk aChunk)
           
static ServerLoop removeServerLoop()
           
 void restartServerLoop(Rcvr rcvr)
           
 void scheduleChunks()
          Schedule any chunks that have bnecome active.
static void scheduleTermination()
          In xpp, smainx.cxx defines this to set a flag requesting server termination after current
request.
 void sendSelfTo(Xmtr xmtr)
          do nothing
 void setTerminate(boolean toBoolean)
           
static void staticTimeNonInherited()
           
 Stepper stepper()
           
 void stepper(Stepper stepper)
           
 boolean terminate()
           
 
Methods inherited from class org.abora.gold.fm.support.Thunk
actualHashForEqual, isEqual
 
Methods inherited from class org.abora.gold.xpp.basic.Heaper
abstractDeclarationFor, abstractTypeFor, addMethodAttributeToInOf, addPackage, addPackageCategory, allClientProtocolOn, argumentTypesFor, arrow, blast, blast, BLAST, cachePromiseNameTable, cachePromiseNameTableIn, canYouBecome, cast, cleanPromiseClasses, clientClassesDo, clientFunctionsOn, clientMethodsOn, clientProtocol, clientProtocolDo, clientProtocolOn, clientProtocolOn, collectibleClasses, compare, compileClientSubclasses, compileConstantPromiseMethods, compileCreateFromRcvr, compileEQ, compileGeneratedClassMethod, compileGeneratedMethod, compileHook, compilePromise, compilePromiseDefaultMethods, compilePromiseFluidDeclarations, compilePromiseHandlers, compilePromiseMethods, compileRequestCreateMsgInArguments, compileRequestEvaluateMsgInReturningArguments, compileRPCSpecialistEvaluateMsgForReturningArguments, compileSendSelfTo, compileSendSelfToSendHook, compileStubbleMethods, compileSubclassStubbleMethods, computeMangle, computePreorder, constantTypeValue, convert, convertCopyDeclarations, convertDeferredDeclarations, convertProxyDeclarations, convertSubclassCopyDeclarations, convertSubclassDeferredDeclarations, convertSubclassProxyDeclarations, copyReferencesToType, create, create, create, create, create, create, create, create, create, create, createRequestClassArguments, definesProxyMethods, delete, deref, destroy, destruct, destructor, enum, enumFlags, equals, exportName, fetchAttribute, fetchPackage, fetchSuperCategory, fileOutClientProtocol, findCategory, findSenderAndReceiverMethods, findTailInto, flushPromiseNameTable, foo, freezeClientClasses, freezeClientProtocol, freezeStProtocol, frozenClasses, garbageCollect, garbageCollectFrom, gcOpportunity, gcOpportunity, generatedCategory, generatePromiseNames, getCategory, getOrMakePackage, getSuperCategory, handlerSignaturesFrom, hash, hashForEqual, hasProxyMethods, info_clientClasses, info_clientSideClasses, info_promiseClasses, info_stProtocol, inGC, initializedClasses, initializingClasses, initPackages, initStringHashSBoxes, inspectPieces, instanceSize, IntegerVar, isByProxy, isConstructed, isDestructed, isEqual, isEqualOrSubclassOf, isGenerated, isIntType, isKindOf, isRawType, isUnlocked, make, makeClassTable, makeFillTable, makeRequestTable, mangle, markChildren, markCount, markInstances, mayBecome, mayBecomeAnySubclassOf, new1, newX, nonCopyVariables, notWorking, pack, packageClasses, packagingCategory, parseExportName, passe, pointerToStaticMember, pointerToStaticMember, pointerToVirtualMember, preorderMax, preorderNumber, printOn, PROBLEM, problems, promiseClass, promiseDefaultValue, promiseName, promiseNameTable, promiseToAbstract, registerPackageCategory, removeGeneratedCode, removeStubbleMethods, removeSubclassGeneratedCode, removeSubclassStubbleMethods, requestProcedure, requestProceduresFrom, returnTypeFor, rootName, sendProxyTo, serverNameFor, setGC, signal, signals, smalltalkSelector, stClientProtocol, stubbleSelectorTokenReturnsArguments, subclassNonCopyVariables, takeOop, togglePromiseName, togglePromiseOfParse, unimplemented, unmangle, verifyFreeze, wipeStubble
 
Methods inherited from class org.abora.gold.java.AboraHeaper
asOop, basicInspect, displayString, error, hack, halt, inspect, knownBug, mightNotImplement, REQUIRES, shouldImplement, shouldNotImplement, stubbleForSubclassResponsibility, thingToDo, willNotImplement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myCategory

protected Category myCategory

myActiveChunks

protected MuSet myActiveChunks

myTerminateFlag

protected boolean myTerminateFlag

myStepper

protected Stepper myStepper

MyServerLoopInstance

protected static ServerLoop MyServerLoopInstance

TheChunks

protected static MuSet TheChunks
Constructor Detail

ServerLoop

public ServerLoop()

ServerLoop

public ServerLoop(Rcvr receiver)
Method Detail

activeChunks

public MuSet activeChunks()

deregisterChunk

public void deregisterChunk(ServerChunk aChunk)
subclasses should call me too


registerChunk

public void registerChunk(ServerChunk aChunk)
subclass must call this one first


setTerminate

public void setTerminate(boolean toBoolean)

stepper

public Stepper stepper()

stepper

public void stepper(Stepper stepper)

terminate

public boolean terminate()

execute

public void execute()
Description copied from class: Thunk
Execute the action defined by this thunk.

Overrides:
execute in class Thunk

scheduleChunks

public void scheduleChunks()
Schedule any chunks that have bnecome active.


restartServerLoop

public void restartServerLoop(Rcvr rcvr)

sendSelfTo

public void sendSelfTo(Xmtr xmtr)
Description copied from class: Heaper
do nothing

Overrides:
sendSelfTo in class Heaper

cleanupGarbage

public static void cleanupGarbage()
Description copied from class: Heaper
Heaper cleanupGarbage


initTimeNonInherited

public static void initTimeNonInherited()

linkTimeNonInherited

public static void linkTimeNonInherited()

staticTimeNonInherited

public static void staticTimeNonInherited()

chunks

public static MuSet chunks()

currentServerLoop

public static ServerLoop currentServerLoop()

introduceChunk

public static void introduceChunk(ServerChunk aChunk)

registerServerLoop

public static void registerServerLoop(ServerLoop aLoop)

removeChunk

public static void removeChunk(ServerChunk aChunk)

removeServerLoop

public static ServerLoop removeServerLoop()

scheduleTermination

public static void scheduleTermination()
Description copied from class: Heaper
In xpp, smainx.cxx defines this to set a flag requesting server termination after current
request.



Translation - Copyright © 2003 David G Jones. All Rights Reserved.
Original Udanax-Gold - Copyright © 1979-1999 Udanax.com. All rights reserved.