In this release container classes/templates have been completely redesigned. As an alternative to std::vector PTypes now offers 2 separate templates, tpodlist and tobjlist, which were specifically designed to eliminate the template 'code bloat' problem and to perform dynamic array reallocations in the most efficient way. A limitation for element types that existed in the previous versions (must be derived from 'unknown') is no longer in effect. The old interfaces for lists are preserved for backward compatibility.... read more
This release features a new class 'jobqueue' which serves as a basis for creating the thread pool model in network server and robot applications. A thread pool is a fixed list of reusable thread objects that receive job 'assignments' from a queue. Applying this model to heavily loaded applications removes the overhead of creating and destroying many thread objects. Example 2 in the multithreading examples is now a network server template that demonstrates the usage of the jobqueue class combined with a collection of thread objects.... read more
The new release 1.7.4 features a new thread class with enhanced functionality called unit. Each unit has its own main() along with input/output 'plugs'. Units within the framework of one application can be connected to each other through local pipes to form stream-oriented data processing chains, like processes in the Unix shell.
Unit is a central concept in our new project called Objection! - an OO shell language and a virtual machine that has the ability to load units compiled into dynamic (shared) libraries and manipulate their properties and methods. Objection! is currently in the stage of architectural design and experimental coding.... read more
The latest fixes and additions in PTypes were mainly targeted to development of real-world robust networking applications. Dynamic strings and some other modules have been optimized and thoroughly tested under `stressing' conditions. Additional features have been added in the input streams to easily protect the server application from denial-of-service attacks. A new sockets example in the documentation can serve as a good starting point for novice network programmers.
The new release includes a sample program called wshare, which is a simple multithreaded HTTP daemon. Wshare shows the full power of PTypes, yet it can be useful itself to quickly share local files over the web. No installation, no configuration, just run wshare with your document path from the command line.