New features for OpenQM 2.6-6 branch!

11 views
Skip to first unread message

Gene Buckle

unread,
Apr 14, 2009, 9:57:22 AM4/14/09
to openq...@gpl.openqm.com, openqm-o...@groups.google.com
Some new things have been added in the past few weeks for OpenQM users!

First up are some compatibility compiler modes that were done in order to
bring OpenQM up to compatibility with the 2.8-10 release of QM.

HEADING.NO.EJECT - Performs exactly as the same option in the commercial
version. When enabled, the NO.EJECT mode of the HEADING statement is set
as the default. (geneb)

NO.ECHO.DATA. - Performs exactly as the same option in the commercial
version. When this mode is used, the application will not echo characters
when input is coming from DATA. (geneb)

GlenB has added a new compiler mode that is NOT present in the commercial
version:

NO.CASE.INVERT - This mode will cause INPUT and INPUT@ to ignore the case
inversion state of PTERM, when the application executes. The state of
PTERM is reserved during execution of _INPUT, so the session operates
normally outside of the code which has "$mode no.case.invert" specified.
(glenb)

OpenQM now talks IPv6! I spent some time a couple of weeks ago looking at
Cedric Fontaine's(sp?) OpenQM port of his JD3 client access library and
noticed on the compile that he'd used a socket option in
CREATE.SERVER.SOCKET that wasn't documented in 2.6-6, but was present in
2.8-10. I decided to rectify that little issue. :)

The end result is that most of the code in op_skt.c has been re-written to
use more up to date socket programming methods and has the added benefit
of transparently supporting IPv6.

Glen has added SKT$INFO.FAMILY.IPV4 and SKT$INFO.FAMILY.IPV6 to the
SOCKET.INFO() parameters so you can easily tell what kind of pipe you're
talking on.

Many thanks to GlenB for taking the time to test the IPv6 functionality!

The current svn revision has these changes and Glen is working on adding a
single tarball link to the Wiki for those that don't want to hassle with
svn.

g.

--
Proud owner of F-15C 80-0007
http://www.f15sim.com - The only one of its kind.

OpenQM - A Multi-Value database for the masses, not the classes.
http://gpl.openqm.com - Get it _today_!

GlenB

unread,
Apr 14, 2009, 12:13:13 PM4/14/09
to OpenQM-OpenSource


On Apr 14, 9:57 am, Gene Buckle <ge...@deltasoft.com> wrote:
> Some new things have been added in the past few weeks for OpenQM users!
>
> First up are some compatibility compiler modes that were done in order to
> bring OpenQM up to compatibility with the 2.8-10 release of QM.
>
> HEADING.NO.EJECT - Performs exactly as the same option in the commercial
> version.  When enabled, the NO.EJECT mode of the HEADING statement is set
> as the default. (geneb)
>
> NO.ECHO.DATA. - Performs exactly as the same option in the commercial
> version.  When this mode is used, the application will not echo characters
> when input is coming from DATA. (geneb)
>
> GlenB has added a new compiler mode that is NOT present in the commercial
> version:
>
> NO.CASE.INVERT - This mode will cause INPUT and INPUT@ to ignore the case
> inversion state of PTERM, when the application executes. The state of
> PTERM is reserved during execution of _INPUT, so the session operates
> normally outside of the code which has "$mode no.case.invert" specified.
> (glenb)
>

Along with the matching 'NOCASEINVERT' INPUT option which performs
the same task, but only for that one INPUT or INPUT@ call.

> OpenQM now talks IPv6!  I spent some time a couple of weeks ago looking at
> Cedric Fontaine's(sp?) OpenQM port of his JD3 client access library and
> noticed on the compile that he'd used a socket option in
> CREATE.SERVER.SOCKET that wasn't documented in 2.6-6, but was present in
> 2.8-10.  I decided to rectify that little issue. :)
>
> The end result is that most of the code in op_skt.c has been re-written to
> use more up to date socket programming methods and has the added benefit
> of transparently supporting IPv6.
>

\o/ I can see the hordes of people rushing to setup IPv6. Heh.

> Glen has added SKT$INFO.FAMILY.IPV4 and SKT$INFO.FAMILY.IPV6 to the
> SOCKET.INFO() parameters so you can easily tell what kind of pipe you're
> talking on.
>

Which is obtained using the new SKT$INFO.FAMILY key to SOCKET.INFO().
Hopefully there will be example code on the wiki soon for these
things. I still haven't finished the snapshots page yet! The calling
convention and usage is similar to the other keys that return multiple
values.

> Many thanks to GlenB for taking the time to test the IPv6 functionality!
>

It was a blast. </sarcasm> I think it's great that it's dual-stack
now. I still don't understand the SKT$INFO.TYPE orientation compared
to actual socket types though. I think it's more important to know if
it's UDP or TCP over whether or not it's the listening handle or a
client accept handle. Not that I'm recommending breaking compatability
by changing it. Maybe it's time for another SKT$INFO.key for that,
after I finish the docs.

> The current svn revision has these changes and Glen is working on adding a
> single tarball link to the Wiki for those that don't want to hassle with
> svn.
>

It's there, but the how-to isn't completed
http://gpl.openqm.com/wiki/Development_snapshots

Unless there are more major changes to the project I don't see
another snapshot coming out soon. This was done so that everyone can
grab the source, build it, and run some tests on the socket code and
compiler changes.

> g.
>
> --
> Proud owner of F-15C 80-0007http://www.f15sim.com- The only one of its kind.
>
> OpenQM - A Multi-Value database for the masses, not the classes.http://gpl.openqm.com- Get it _today_!

GlenB
Reply all
Reply to author
Forward
0 new messages