Monday, January 21, 2019

Connecting flush

Flush is a system wide printf fd thing, any snippet can do writes to the system flush and flush will flush.

In default, flush s not loaded, the system flush is set to stdio, so printf defaults to xterm console terminal. Flush can also be loaded for other applications, it is a general purpose funnel.

Console loop wants a window, and an action it can take, on its own, is to load flush and connect it to xchars.  Hence, my discussion on name space.

Flush does one thing, it issues one dimensional lines of text to a destination entry point using PutStr, or whatever the common name becomes. It is not doing a 'write' which would be a scalar string, in my terminology.  This is built in, the fifo protocol it uses '\n', it assumes knowledge of the complete line, and thus indexes strings.  The thing doing the connect set up should only supply entry point, not method. Method sharing between snippets can remain private, and segmented for reuse of common terms.

Flush has a default line handler, it will emit them to stdio, doing the standard console in a round about manner. It can be loaded without destination. I presume it should have a command to flush it all to trash, but i am not bothering.  So, name spacing by entry point on the Bus is working well, and follows the hardware metaphor.  Having identified common forms and reusable names will greatly simplify snippet connections.

The object name on common form

Their is a common argument that began to pper, with xchars naturally, it is the specific element in the class of objects referred to in a method.  A vague term.

The rect name is a named object, a tag xchars can look up. Flush needs that, there can be more than one flush fd and more than one rect, ultimately, when flush is connected to xchars.  IO manager needs to identify mouse fd and key board fd, generally by name when multiple devices are running through a multiplex. At he console lop level, the objects are entry points. But their often is an element identifier, and thus a default flush window may be created. In fact, will be created, not by me, as I am not doing multi-streams snippets anywhere until I get single user, single thread, compile time constants all working together.

No comments: