org.abora.gold.xcvr
Class SpecialistRcvr

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.xcvr.Rcvr
                    |
                    +--org.abora.gold.xcvr.SpecialistRcvr
Direct Known Subclasses:
Binary2Rcvr, TextyRcvr

public class SpecialistRcvr
extends Rcvr

myIbids maps from ibid number to already sent objects. The ibids table is explicitly
managed as a PtrArray because it is such a bottleneck.


Field Summary
protected  PtrArray myIbids
           
protected  byte myNextIbid
           
protected  TransferSpecialist mySpecialist
           
protected static PtrArray RcvrIbidCache
           
 
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
SpecialistRcvr(TransferSpecialist specialist)
           
 
Method Summary
 Heaper basicReceive(Recipe recipe)
          Pull the contents of the next heaper off the wire.
 void basicReceiveInto(Recipe recipe, Heaper memory)
          Pull the contents of the next heaper off the wire.
 void destruct()
          Classes should implement this message rather than a destructor.
 void endOfInstance()
           
 void endPacket()
           
 Category fetchStartOfInstance()
           
static void linkTimeNonInherited()
           
 Heaper makeIbid(Category cat)
          Create and register a memory slot for an instance of the given category.
 boolean receiveBooleanVar()
           
 Category receiveCategory()
          Return a category object using the internal coding that any
rcvr must have to represent categories.
 void receiveData(UInt8Array array)
          Fill the array with data from the stream.
 Heaper receiveHeaper()
          receive the next heaper
 double receiveIEEEDoubleVar()
           
 int receiveInt32()
           
 byte receiveInt8()
           
 IntegerVar receiveIntegerVar()
           
 void receiveInto(Heaper memory)
          Receive an object into another object.
 java.lang.String receiveString()
           
 int receiveUInt32()
           
 byte receiveUInt8()
           
 void registerIbid(Heaper obj)
           
 TransferSpecialist specialist()
           
 
Methods inherited from class org.abora.gold.xcvr.Rcvr
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, cleanupGarbage, 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, 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, scheduleTermination, sendProxyTo, sendSelfTo, 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

mySpecialist

protected TransferSpecialist mySpecialist

myIbids

protected PtrArray myIbids

myNextIbid

protected byte myNextIbid

RcvrIbidCache

protected static PtrArray RcvrIbidCache
Constructor Detail

SpecialistRcvr

public SpecialistRcvr(TransferSpecialist specialist)
Method Detail

receiveBooleanVar

public boolean receiveBooleanVar()
Overrides:
receiveBooleanVar in class Rcvr

receiveCategory

public Category receiveCategory()
Return a category object using the internal coding that any
rcvr must have to represent categories.


receiveData

public void receiveData(UInt8Array array)
Fill the array with data from the stream.

Overrides:
receiveData in class Rcvr

receiveHeaper

public Heaper receiveHeaper()
receive the next heaper

Overrides:
receiveHeaper in class Rcvr

receiveIEEEDoubleVar

public double receiveIEEEDoubleVar()
Overrides:
receiveIEEEDoubleVar in class Rcvr

receiveInt32

public int receiveInt32()
Overrides:
receiveInt32 in class Rcvr

receiveInt8

public byte receiveInt8()
Overrides:
receiveInt8 in class Rcvr

receiveIntegerVar

public IntegerVar receiveIntegerVar()
Overrides:
receiveIntegerVar in class Rcvr

receiveInto

public void receiveInto(Heaper memory)
Receive an object into another object.

Overrides:
receiveInto in class Rcvr

receiveString

public java.lang.String receiveString()
Overrides:
receiveString in class Rcvr

receiveUInt32

public int receiveUInt32()
Overrides:
receiveUInt32 in class Rcvr

receiveUInt8

public byte receiveUInt8()
Overrides:
receiveUInt8 in class Rcvr

basicReceive

public Heaper basicReceive(Recipe recipe)
Pull the contents of the next heaper off the wire.


basicReceiveInto

public void basicReceiveInto(Recipe recipe,
                             Heaper memory)
Pull the contents of the next heaper off the wire.


makeIbid

public Heaper makeIbid(Category cat)
Create and register a memory slot for an instance of the given category.


registerIbid

public void registerIbid(Heaper obj)

endOfInstance

public void endOfInstance()

endPacket

public void endPacket()

fetchStartOfInstance

public Category fetchStartOfInstance()

specialist

public TransferSpecialist specialist()

destruct

public void destruct()
Description copied from class: Heaper
Classes should implement this message rather than a destructor. We use this so
the destruction behavior implemented in abstract superclasses can access the
vtable of the concrete run-time type in C++. Using a message makes C++
parallel the Smalltalk semantics for delete. Destroy will actually call the destructor.

Overrides:
destruct in class Heaper

linkTimeNonInherited

public static void linkTimeNonInherited()


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