[This is preliminary documentation and is subject to change.]
DataObjectOutputStream is supplied to the IPublisher.OnRequestmessage.
handler to allow agents to stream an arbitrarily large set of SifDataObjects when
responding to SIF_Request messages. The ADK handles packetizing the objects
into SIF_Response packets, which are stored in a cache on the local file system
until they can be delivered to the zone.
| C# | Visual Basic | Visual C++ |
public interface IDataObjectOutputStream
Public Interface IDataObjectOutputStream
public interface class IDataObjectOutputStream
| All Members | Methods | Properties | |||
| Icon | Member | Description |
|---|---|---|
| DeferResponse()() |
Defer sending SIF_Response messages and ignore any objects written to this stream.
| |
| Filter |
Tells the DataObjectOutputStream to automatically filter out any SIFDataObjects that do
not match the conditions specified in the provided Query object.
| |
| Write(SifDataObject) | Write a SifDataObject to the stream |
ADK 1.5.1 introduces a mechanism to decouple SIF_Request processing from
SIF_Response delivery, which is necessary when implementing the StudentLocator
message choreography or to place inbound SIF_Request messages in a work queue
for processing at a later time. Call the DeferResponse()()
method to inform
the ADK that you will take responsibility for processing the SIF_Request message
at a later time after the Publisher.onRequest method has completed.
Note the ADK immediately acknowledges the SIF_Request when OnRequest
returns, but because the DeferResponse method has been called it
does not attempt to send cached SIF_Response packets to the zone. When your agent
is ready to process the request, it can use the SifResponseSender
class to stream, packetize, and deliver SIF_Responses. See the class comments