Generator performatives

Previous: Basic effector performatives Up: Reserved Performative Names Next: Capability-definition performatives

Generator performatives

The following performatives comprise a generator mechanism for the delivery of responses to a KQML performative. That is, this mechanism allows an agent to explicitly retrieve responses in a series; this is especially useful when there are a large number of responses, and/or the agent is not able to efficiently buffer incoming responses.


standby
     :content <performative>
     :language KQML
     :ontology <word>
     :reply-with <expression>
     :sender <word>
     :receiver <word>
This type indicates that the sender wants the recipient to take the would-be response(s) from the performative in :content, and announce its readiness to accept requests for the responses.


ready
     :reply-with <expression>
     :in-reply-to <expression>
     :sender <word>
     :receiver <word>
This type indicates that the sender will answer requests for the responses to the performative contained in some performative with the :in-reply-to label. The :reply-with parameter is, in function, the returned generator.


next
     :in-reply-to <expression>
     :sender <word>
     :receiver <word>
This type indicates that the sender wishes to receive the next response from those promised by the performative identified by the :in-reply-to parameter.

NOTE: The next performative does not have a :reply-with parameter because the :in-reply-to parameter of the next response should match the :reply-with parameter of the performative embedded in the original standby message.


rest
     :in-reply-to <expression>
     :sender <word>
     :receiver <word>
This type indicates that the sender wishes to receive the remaining responses, in a stream, from those promised by the ready performative identified by the :in-reply-to parameter.


discard
     :in-reply-to <expression>
     :sender <word>
     :receiver <word>
This type indicates that the sender will issue no more replies to the ready performative identified by the :in-reply-to parameter. (This is a courtesy to the owner of the generator, so it can reclaim resources needed to maintain the generator.)


generator
     :content <expression>
     :aspect <expression>
     :language <word>
     :ontology <word>
     :reply-with <expression>
     :sender <word>
     :receiver <word>

This type is the same as:


   (standby
        :content (stream-all :content <expression>
             :aspect <expression>
             :language <word>
             :ontology <word>
             :sender <word>
             :receiver <word>)
        :language KQML
        :reply-with <expression>)

finin@cmsc