Go to the first, previous, next, last section, table of contents.


|writeStreamPacket

Function: |writeStreamPacket { [block] tag done stream -> [block] tag done }
file: job.t
package: muf
status: alpha

This is a fundamental function for writing to a stream. A block of arbitrary values with an arbitrary tag is written into the stream.

The done argument should normally be t, but may be used to build up a packet using a sequence of |writeStreamPacket calls, by setting done to nil on all but the final call in a sequence.

(Any write to the same stream by another job in the middle of this sequence will result in premature completion of the packet, which will emerge from the stream as two or more packets, with the interrupting foriegn packets interspersed.)

To facilitate writing the same packet to many streams, the arguments (other than the stream) are not popped.

If necessary, the job will block until space becomes available. See section |maybeWriteStreamPacket. See section |rootWriteStreamPacket.


Go to the first, previous, next, last section, table of contents.