[ts-ann] shim-070727 announced
R P Herrold
herrold at owlriver.com
Tue Jul 31 09:16:09 EDT 2007
We announce shim-070727, which runs with the currently
shipping (upstream) TWS:
Build 875.3, Jul 26, 2007 5:08:09 PM
and some earlier versions as well.
Although it was released to FTP last Friday, I wanted to
complete testing on the Debian units as well as on Centos 4
and 5. All seems to pass both the 'make test' suite, and my
additional testing in each environment. I will take a look at
OS/X later today. As so much has happened in the last few
weeks in the shim, I have added a copy of the summary release
information as released to Freshmeat, and then the full form
NEWS file.
Summary of changes:
Re-license change to GPLv3 or later; improved command parser
recovery after input errors; completeion of roll-in of RC file
support; IPv6 ready getaddrinfo cutover; remove some ambiguity
on 'info' command; LaTeX documentation fixes
Long form:
NEWS
copyright (c) 2005--2007 Trading-shim.com, LLC Columbus, OH
GPL version 3 or later, see COPYING for details
date: Fri Jul 27 2007
date: Tue Jul 24 2007
date: Mon Jul 23 2007
date: Fri Jul 20 2007
date: Thu Jul 19 2007
date: Wed Jul 18 2007
date: Tue Jul 17 2007
date: Fri Jul 13 2007
date: Wed Jul 11 2007
date: Mon Jul 9 2007
date: Fri Jul 6 2007
date: Fri Jun 29 2007
date: Mon Jun 25 2007
date: Fri Jun 22 2007
date: Thu Jun 21 2007
date: Tue Jun 19 2007
date: Mon Jun 18 2007
* relicense sources under the GPL version 3
* saving event text to a local file named ShimText is now automatic,
rather than being controlled by the save option, and that file is
set for line rather than full buffering, so that latency is much
reduced.
* fix command parsing error recovery and trace/error message output;
command input should be able to correctly parse the very next correct
message after one including a syntax error, and the explanatory message
for that error should be reasonably understandable; it is both more
concise and less cryptic than before.
* much work has been done on connection parameter input; earlier tarballs
in this series [prior to the last date above] do not necessarily include
all of the following features; as is generally the case, you should
prefer the last version of a series.
* there is now a default .shimrc file in the tarball root directory
* regression scripts now pull connection parameters via autoload
from the bin/kv_pairs file
* update old-style ipv4 ip-quad based connection logic to use
getaddrinfo(), which is simple, general, reliable, and flexible.
See RFC 2553 if you are interested.
* connection parameters may be provided via any of the following means,
in increasing order of priority:
+ 0 the hardwired connection parameters in data.c
+ 1 a .shimrc file in $HOME (see below for details)
+ 2 " " " " the current directory " " " "
+ 3 dbms and feed commands prompted for, once given the init option;
see the init_opt function in the regression test scripts for an
example of the command syntax. There is a total timeout of 20
seconds for the two commands.
* the shim accepts a reasonably flexible format for .shimrc files:
+ a .shimrc file consists of name-value pairs such as follows:
DbmsName mysql
DbmsHost somehost
UserName shim
TableSet testing
FeedName tws
FeedHost otherhost
FeedPort 7496
+ pairs may be in any order
+ not all pairs need be provided; if the .shimrc file is incomplete,
missing values are filled in from the defaults defined in data.c
+ the FeedHost value may be an ip address or a dns name
+ each pair must be on a line by itself
+ the file must have left-aligned pairs only, that is without
comments, blank lines, or leading whitespace.
+ the Password key is currently ignored
+ for the forseeable future, only "mysql" and "tws" will be accepted
as the DbmsName and FeedName values. Sorry, no Oracle for the time
being, see the manual for more on this.
* as mentioned above, the init option is now supported. it triggers
prompts for both dbms and feed connection parameters at startup;
for examples of the the dbms and feed commands, see the
regression scripts, in particular bin/includes.
* as part of ongoing work to allow more flexible contract lookup, the
info cmd, which is being used as a guinea pig for the new features,
produces various kinds of cruft on the stderr -- don't worry about it.
* modify the syntax to the info (req contract data) command, deleting
the dummy subscription add/del arg prior to the contract id, adding
the trailing flag for include-expired contracts, and bumping the
version up to eliminate a nag message; see the bin/includes regression
test for examples. The fixes depended on an earlier change, to
separate ReqConData from the four subscription request types; note also
that the info cmd used to be named data, and though was renamed to
remove ambiguity with data mode, in any case still requests contract
information.
* the --help feature screens are increasingly out-of-date, and will be
updated as part of future work on the commands chapter of the
tutorial. In particular, the --cmds, --reqs, and --msgs test modes
have been effectively disabled.
* add new stage to singletree construction; before/after is:
+ old: component, constants, stateful singletons
+ new: ", early " , " " , late constants,
with connection initialization delayed to the 4th stage
* merge CmdQue and Feeder, and change from request queueing to command
queing, so that tick id assignment is delayed as long as possible,
to ensure that ids are sequential even when queued events are
reordered. Tick id construction has also been refactored.
* refactor bulk subscriptions
* fix bugs in news command
* fix doc latex bugs due to changes in latex hyperref package
* initialization bugfix
As always, the latest tarball is at
ftp://ftp.trading-shim.org/pub/local/trading-shim/
and prior releases in the ./attic/
We thank you for your interest; we welcome feedback,
questions, constructive criticism, and comment. We hope for
others to join us, as this release has substantial code
refactoring and restructuring to permit one to get a clear
idea of program flow by reviewing just three files:
shim.c
flow.c
task.c
... in all perhaps 500 lines of clean code, will get one
started.
-- The trading-shim team
More information about the ts-announce
mailing list