Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 40 million developers.Sign up
Changed qualifier jpmorrsn to jpaulmorrison - to match domain name. (Bert Madeira's suggestion)
Note: it may take a while to get every dependency updated! If in doubt use v4.0.1 or the latest v3.x.x version...
JavaFBP components have been grouped into a number of subdirectories -the intent is to build several jar files - at minimum:
- a "core" jar file containing the API and basic control blocks
- another jar file containing a number of basic components
Some restructuring may turn out to be necessary - feedback would be appreciated
The license info on all file members is being changed to LGPL; also the copyright strings are being deleted. The text of the LGPL license is also being included in
This application was suggested by Google Streams. DeCompose already existed but needed to be enhanced to split text based on blanks OR other punctuation marks.
DeCompose is one of the components used in the Telegram Problem solution, described in
Note: in the 2nd DrawFBP video (due out mid-May), WordCount is built in @jpaulm 's TestDraw project in Eclipse - it has been added to JavaFBP so it will be included in GitHub and in the javafbp jar file.
A new component, SubstreamSensitiveMerge, has been added to JavaFBP, to handle merging streams containing substreams after they have been through a LoadBalance process. This necessitated a new API call, findInputPortElementWithData(InputPort), which takes as operand the array created by the openInputArray service - findInputPortElementWithData will suspend temporarily if there is no data at any of the input port elements - no polling is done.
In addition, we have added a test network, TestLoadBalanceWithSubstreams, which does a LoadBalance, followed by a SubstreamSensitiveMerge. It has been set up to optionally replace the SubstreamSensitiveMerge by a "first come, first served" merge point, to illustrate how the input stream gets scrambled if you just try using a simple merge, rather than SubstreamSensitiveMerge.
We have also added a "round robin" merge, RRMerge, to illustrate the use of input array port elements. Of course this has no connection with the preceding paragraph - I realized belatedly that I didn't have an example of an array-type input port in the examples.
Finally, the SlowPass component has been updated to randomly generate the "sleep" interval.
Have also added CheckSequenceWithinSubstreams.java - this detected an empty substream created by GenSS - this has now been fixed.
Care must be taken if combining LoadBalance and SubstreamSensitiveMerge - this should probably be avoided if possible. The problem is described in more detail under #8 .
WebSockets support has been split off from this project, and a new one called JavaFBP-WebSockets has been created