FlowBasedProgramming | RecentChanges | Preferences

An InitialInformationPacket (IIP) is an object (preferably but not necessarily a string) defined in the network, and attached to a Connection, which as usual is in turn connected to a Port. When the process does a "receive" on that port, an ordinary InformationPacket (IP) is created and received at the port. It must then be disposed of in the normal way IPs are disposed of (by being sent on or being discarded). The IIP can only be received once per Activation? - see FlowBaseSchedulingRules?. If the process does another "receive" during the same activation, it gets a "no more data" indication. (*)

The advantage of IIPs over conventional parameters is that an input port can be attached either to an IIP connection or to a regular data stream connection - the receiving process doesn't know or care. Thus you could write an application that reads file foo, where 'foo' is specified in an IIP, and then very easily change it to read a sequence of files by feeding a stream of file names to the same input port.

See IIP for further discussion.

(*) This is being changed to one receive per invocation - if the IIP data needs to be preserved across activations, it is up to the component to save it somewhere, e.g. in instance variables. The current version of JavaFBP (http://www.jpaulmorrison.com/fbp/javaFBP-1.5.2.jar) still presents the IIP once per activation.

FlowBasedProgramming | RecentChanges | Preferences
This page is read-only - contact owner for a password | View other revisions
Last edited January 9, 2008 3:21 pm by PaulMorrison (diff)