Queue streaming during evaluation of forms.
Arguments and values
|tag|| An object (default is |
|write-empty-queue-p|| A generalized boolean (default is |
|forms|| An implicit |
|results||The values returned by evaluating the last form|
The values returned by evaluating the last form.
Instead of writing changes directly to a streamer's journal file or network connection, the changes are queued until the last form has been evaluated. Then the queued changes are written as a block that is marked with the tag value. Queued streaming is thread-local (so different threads can have their own open queues at the same time) and with-queued-streaming forms can be nested within a single thread.
If the value of write-empty-queue-p is true, the streamer queue is
written even if it is empty (and
hyp unit instances are being mirrored to
*streamer*, queue the mirroring of a created
with the space instance
> (with-queued-streaming (*streamer* (find-space-instance-by-path '(bb hyps))) (make-instance 'hyp :location (list x y) :classification '(:car :truck) :color ':red :belief .85 :velocity-range '(5 35) :supporting-hyps supporting-hyps)) #<hyp 419 (1835 4791) 0.85 [5..35]> >
Write an empty queue (with tag
:empty) to streamer
> (with-queued-streaming (*streamer* ':empty 't)) nil >
The GBBopen Project