eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'BinaryIOManager':

Home

everywhere
www.exept.de
for:
[back]

Class: BinaryIOManager


Inheritance:

   Object
   |
   +--BinaryIOManager
      |
      +--BinaryInputManager
      |
      +--BinaryOutputManager

Package:
stx:libboss
Category:
System-BinaryStorage
Version:
rev: 1.38 date: 2009/11/23 17:11:41
user: cg
file: BinaryIOManager.st directory: libboss
module: stx stc-classLibrary: libboss
Author:
Eliot Miranda (eliot@cs.qmc.ac.uk)
Claus Gittinger

Description:


I am a shared superclass for the binary IO classes BinaryInputManager & 
BinaryOutputManager.
I define some class variables that define the types of descriptions in binary
files, see BinaryIOManager class>>initialize


Related information:

    BinaryObjectStorage
    ObsoleteObject
    PersistencyManager
    Object
    [binary object storage]

Class protocol:

Signal constants
o  binaryLoadErrorSignal
return the signal raised, when a binary load fails due to some reason.
This is the parent signal for all other binary load errors;
therefore, it can be used to handle all errors in a single handler.

o  changedIndexedInstSignal
return the signal raised, when an instance of a class is about to be filed in,
which has different indexed instvars (i.e. byte-insts vs. pointers etc)

o  changedInstLayoutSignal
return the signal raised, when an instance of a class is about to be filed in,
which has a different inst layout (i.e. the size matches, but the order of
instvars has changed)

o  changedInstSizeSignal
return the signal raised, when an instance of a class is about to be filed in,
which has a different inst-size (i.e. the number of named instvars has changed)

o  invalidBinaryFormatErrorSignal
return the signal raised, when a binary load fails due to format errors,
for example, if you try to fileIn a binary object from another smalltalk,
or from a stream which does not contain binary objects at all.

o  invalidClassSignal
return the signal raised, when an object is about to be filed in,
for which no valid class exists in the system,
or when such a class is referenced in an instvar of a loaded object.

This is the parent signal for all class related binary load errors;
therefore, it can be used to handle these in a single handler.

o  nonexistingClassSignal
return the signal raised, when an object is about to be filed in,
for which no class exists (or no-longer exists).

o  requestConversionSignal
return the signal raised, when an instance of an obsolete class has
to be converted. The handler gets an instance of a dummy class (which has the
old classes structure) and the new class as parameters, and is supposed to
return an instance of the new class with the dummy-instances contents.

class initialization
o  initialize
Initialize the types & type table for binary i/o


Instance protocol:

accessing
o  codeForByteArray
return the code-byte used to encode a byteArray with 1-byte length

o  codeForByteInteger
return the code-byte used to encode a small byte valued integer

o  codeForCharacter
return the code-byte used to encode a single-byte character

o  codeForClass
return the code-byte used to encode a class

o  codeForFalse
return the code-byte used to encode false

o  codeForMinusOne
return the code-byte used to encode the small integer -1 (minus one)

o  codeForNegativeByteInteger
return the code-byte used to encode a negative byte valued integer

o  codeForNegativeInteger
return the code-byte used to encode a negative integer

o  codeForNil
return the code-byte used to encode nil

o  codeForOne
return the code-byte used to encode the small integer 1 (one)

o  codeForString
return the code-byte used to encode a string with 1-byte length

o  codeForSymbol
return the code-byte used to encode a symbol with 1-byte length

o  codeForTrue
return the code-byte used to encode true

o  codeForTwoByteCharacter
return the code-byte used to encode a two-byte character

o  codeForZero
return the code-byte used to encode the small integer 0 (zero)


Examples:


See examples in BinaryOutputManager

ST/X 6.1.1; WebServer 1.620 at exept:8081; Thu, 17 May 2012 15:59:03 GMT