SimpleStreamsDocDoc.Tioga
Copyright Ó 1988, 1989 by Xerox Corporation. All rights reserved.
Created by: Christian Jacobi, 1988
Christian Jacobi, March 27, 1992 4:53 pm PST
THE SimpleStreamsDoc INTERFACE
THE SimpleStreamsDoc INTERFACE
THE SimpleStreamsDoc INTERFACES
PCEDAR 10.1 — FOR INTERNAL XEROX USE ONLY
PCEDAR 10.1 — FOR INTERNAL XEROX USE ONLY
PCEDAR 10.1 — FOR INTERNAL XEROX USE ONLY
The SimpleStreams Interface
Low level stream registration facility
Christian Jacobi
© Copyright 1988, 1989 Xerox Corporation. All rights reserved.
Abstract: Allows creation of streams without specification of device.
Created by: Christian Jacobi
Maintained by: Jacobi.pa
Keywords: IO, device independence, streams
XEROX   Xerox Corporation
    Palo Alto Research Center
    3333 Coyote Hill Road
    Palo Alto, California 94304

For Internal Xerox Use Only
Definition
Please read the definition module
DF files
/Cedar10.1/top/SimpleStreams.df
/Cedar10.10/top/SimpleStreamsOnX.df
/Cedar10.10/top/SimpleStreamsOnViewers.df
Purpose
Low level stream registration facility:
Allows clients to create streams without specification or importing of device.
Current availability
Currently available are 10 implementations
PCedar [with threads]
Using X-Windows on same Sun
the real stuff...
Using Bridge to create viewer on Dorado from Sun
more real stuff...
Using ViewerIO on Sun
soon
of course... You get this due to source compatibility
Using TypeScript on Sun
soon
of course... You get this due to source compatibility
PCedar [non threads]
Using UXIO
misbehaviour
UXIO always echo's input.
Well unix has the possibility to stop echo, but this would get to involved on the UXIO side, mainly because UXIO hase a Cedar FS implementation for the Softcard.
restriction
disables further commands to cedarboot [monopolizes input stream]
Dorado [princops] DE-IMPLEMPLEMENTED
Using TypeScript on same Dorado
useful to debug source compatible stuff in PrincOps
Using ViewerIO on same Dorado
useful to debug source compatible stuff in PrincOps
useful to debug source compatible stuff in PrincOps
Using X-Windows on Sun from Dorado
of course... You get this due to source compatibility
Missing implementations
SunWindows [I will NOT do that! use X windows instead]
Sun on bare hardware
Softcard ???
Implementor hints
Intendended further implementations
Pipes...
restrictions on TYPE's of the windowSystem REF
REF SafeStorage.Type
Idea:
Have client use the screen/connection as a windowSystem parameter
Have implementor registered windowSystem with a NEW[SafeStorage.Type ← CODE[...]]
LIST OF ATOM
Search through list
LIST OF REF ANY
Search through list
Implementation hints
Silly EditedStream raise an ERROR Rubout; This is prevented by DeliverWhenProc making sure this condition won't occur
There is a version of SimpleStreams implemented with windowSystem REF $ViewerIOWithRubout which does not prevent ERROR EditedStream.Rubout
Some Rationale
The err stream really is superflous most of the time. It's included because SimpleStreams might also get usefull as an implementor of unix simple programs...
The echo anomaly is made because it is a hard requirement to force all implementations of all window systems to implement unedited streams. E.G. If you have a paper-tty non-echo might be hard(ware dependent); also, Unix default streams do echo...
The cost of a no-echoing failure is only a duplication of all the input lines; this might even get unnoticed, but it is certainly worth paying for the additional devices. When the missfeature gets anoying, fix the device; the definitions module does not propose missbehaviour, it only guides how to do it if a device does it badly.