The communication object receives data from an application.
The Protocol Object receives the data from the communication object and places it into a blob.
The Protocol Object executes a Control Flow Object, if one is defined, to preview the data.
The Protocol Object then offers the data to its Message Frame Objects for bidding. Each Message Frame Object bids on the data based upon the position in the data that the Frame definition matches. The closer the Message Frame matches to the first position in the data, the lower its bid.
Decision Point:
5a. If no Message Frame Objects bid on the data, then the Protocol Object waits for another block of data from the communication object, appends it to the data currently in the blob, runs the Control Flow Object to preview the data, and submits the accumulated data to the Message Frame Objects for bidding.
5b. If Message Frame Objects match on the data, they submit a bid to the Protocol Object.
The Message Frame with the lowest bid (i.e., the one that matched closest to the first position in the data) gets the piece of the data that it matched and bid on. The Protocol Object extracts the matched data from its blob and passes that data to the Message Frame Object that won the bidding. The Protocol Object deletes from its blob any remaining data that came before the piece the Message Frame Object matched on and retains any data that came after the piece the Message Frame Object matched on.
After a Message Frame Object receives data from the Protocol Object, it passes program control to its Control Flow Object which executes its associated function.
Decision Point:
8a. If the Protocol Object has no data remaining in its blob, it waits for the next piece of data to arrive from the communication object, then starts the cycle over.
8b. If the Protocol Object still has data in its blob, it submits that data to the Message Frame Objects for bidding.
Decision Point:
9a. If no Message Frame Objects bid on the data, then the Protocol Object deletes the remaining data from its blob and waits for another block of data from the communication object.
9b. If Message Frame Objects match on the data, program flow follows as described in steps 5b – 8.
Copyright © 2005. Sybase Inc. All rights reserved. |