nxwire This program connects to the BizWire NX v4 client FireHose and grabs files. It allows ALL NX traffic for a server to be sucked in and treated like an incoming data stream like a wire service. A small FipHdr is added with date and time fields, sender and receiver logons before the file is passed on - normally to spool/2brouted for 'iproute' to sort out. RoundRobin may be set for the output folder and also adds the RR FipHdr field There are two modes - normal running where the program sits on the port processing data until stopped manually - catchup mode which requests for any OLD files which have been queued waiting. This instance will drag all these files off and then stop This is flagged by a '-C' input switch on startup. When the program is started in 'normal running' mode, it will automatically start a second instance in CatchUp mode.(use -X to inhibit the second instance) The program reads a parameter file in tables/wire which has the same name as the '-n' service. Parameters may be ; comment log-level:0,10,20 default: 0 0-errors only 10-plus connects/disconnects 20- files too log: Custom log line for files (in FipSeq) default: filename, queue, size extra-fiphdr : Extra FIP header information default: none For fixed header info in FIP. eg #QA:AA#QB:BASIC As this flag is normally the last specified, its contents can be used to overwrite any unique fields such as DU, DP, SN etc. dump-data:yes/no Dump raw incoming data default: no archive-name: Name of the archive file default: same as Service max-round-robin: (no or 1-49) default: no add a round-robin number to the output queue (same as -R) connection-retries: (goes) default: 5 connection-timeout: (secs) default: 30 reset-timeout: (secs) default: 30 log-timeout: (secs) default: 90 tcp-keep-alive: (y/n) default: yes tcp-ka-count: (probes) default: 2 tcp-ka-interval: (secs) default: 60 secs tcp-ka-idle: (secs) default: 65 secs The default is keep-alives are ON; if nothing arrives in (idle) 65 secs, then a KA is sent every (interval) 60 secs - but after 2 goes (count) without response the connection is broken. Plus the usual FipSeq - partial, filter, valid etc Input Parameters : -n : Name of service (SU field) default: NXWIRE All Optional : -d : done folder default: none This holds a copy of all incoming data files from every source The structure is (done folder) / (date)_(logon) eg 20110921_fip / (filename as written to the output folder) It can be purged with an entry in maintenance (zapfiplog) eg if '-d raw.data' and we want the last 30 days data /fip/bin/ipdelque -q/fip/spool/raw.data -i1 -a30 -D : display connection and data (use only for debugging) default: no -k : keep alive idle time default: 65 secs -K : keep alive interval time default: 60 secs -I : wire Id use to denote which nxwire if more than one. default: none -o : Output folder in /fip/spool default: spool/2brouted -O : Name of output format (DF field) default: NXWIRE -p : port number of the FireHose default: none Normally NX v4 uses port 9001 -r : the name of a DIFFERENT routing table to 'name' (SR field : used by iproute) default: name -R : Running Round Robin on the output folder default: no -s : hostname/internet address to select a test host default: localhost -w : log timeout default: 90 -Z : do NOT archive any incoming files default: archive -v : Print the version number and exit Plus for CatchUps -C : Single shot catchup. The program stops on completion default: normal running -X : do NOT run a second CatchUp instance default: if normal, do This is for normally running which will automatically run a CatchUp on startup. Version Control ;0u 23sep12 original version ;m funny catchup fudge - and redid catchup ;n added -d doneque ;o tuning ;p-r log max ;s-t 1may13 added tcp-keepalives (copyright) 2021 and previous years FingerPost Ltd.