[613] | 1 | XWBTCPMT ;ISF/RWF - Routine to test a connection ;11/28/2005
|
---|
| 2 | ;;1.1;RPC BROKER;**43**;Mar 28, 1997
|
---|
| 3 | CALL ;Interactive
|
---|
| 4 | N IP,PORT,STAT
|
---|
| 5 | D HOME^%ZIS
|
---|
| 6 | S U="^",DTIME=$$DTIME^XUP
|
---|
| 7 | W !,"Interactive Broker Test"
|
---|
| 8 | R !,"IP ADDRESS: ",IP:DTIME
|
---|
| 9 | I IP["^" Q
|
---|
| 10 | R !,"PORT: ",PORT:DTIME
|
---|
| 11 | I PORT["^" Q
|
---|
| 12 | S STAT=$$TEST(IP,PORT,1)
|
---|
| 13 | U $P
|
---|
| 14 | W !,$S(STAT>0:"Success, response: "_$P(STAT,U,2),1:"Failed: "_$P(STAT,U,2,9))
|
---|
| 15 | Q
|
---|
| 16 | ;
|
---|
| 17 | TEST(IP,PORT,TALK) ;
|
---|
| 18 | I IP'?1.3N1P1.3N1P1.3N1P1.3N S IP=$$ADDRESS^XLFNSLK(IP)
|
---|
| 19 | I IP'?1.3N1P1.3N1P1.3N1P1.3N Q "-1^BAD IP"
|
---|
| 20 | D CALL^%ZISTCP(IP,PORT)
|
---|
| 21 | I POP Q "-1^Failed to Connect"
|
---|
| 22 | U IO
|
---|
| 23 | N $ET S $ET="G ERR^XWBTCPMT"
|
---|
| 24 | ;TCPConnect
|
---|
| 25 | W "[XWB]10304"_$C(10)_"TCPConnect5001010.6.17.95f00010f0024ISF-FORTW.vha.med.va.govf"_$C(4),@IOF
|
---|
| 26 | R RES:10 I '$T S RES="-1^TIMEOUT" G EXIT
|
---|
| 27 | W "[XWB]10304"_$C(5)_"#BYE#"_$C(4),@IOF
|
---|
| 28 | R RES2:10 I '$T S RES="-1^TIMEOUT after accept"
|
---|
| 29 | S RES="1^"_RES
|
---|
| 30 | EXIT ;Close and Exit
|
---|
| 31 | D CLOSE^%ZISTCP
|
---|
| 32 | Q RES
|
---|
| 33 | ;
|
---|
| 34 | ERR ;
|
---|
| 35 | D CLOSE^%ZISTCP
|
---|
| 36 | U $P
|
---|
| 37 | Q "-1^"_$$EC^%ZOSV
|
---|
| 38 | ;
|
---|
| 39 | CHECK ;Check server setup
|
---|
| 40 | N XPARSYS,XWBDEBUG,XWBOS,XWBT,XWNRBUF,XWBTIME,NEWJOB
|
---|
| 41 | W !,"This will check for some of the errors that can prevent the Broker"
|
---|
| 42 | W !,"from getting started.",!
|
---|
| 43 | D HOME^%ZIS
|
---|
| 44 | D INIT^XWBTCPM
|
---|
| 45 | W !,"Debuging is set to ",$S(XWBDEBUG=1:"On",XWBDEBUG=2:"Verbose",XWBDEBUG=3:"Very Verbose",1:"Off")
|
---|
| 46 | D SETTIME^XWBTCPM(0)
|
---|
| 47 | W !,"Broker activity timeout is set to ",XWBTIME
|
---|
| 48 | S %ZIS="MN",IOP="NULL" D ^%ZIS
|
---|
| 49 | I POP W !,"The NULL device is not setup correctly."
|
---|
| 50 | I 'POP D ^%ZISC W !,"The NULL device is OK."
|
---|
| 51 | I $T(SHARELIC^%ZOSV)="" W !,"The routine %ZOSV is missing the entry point 'SHARELIC'."
|
---|
| 52 | I $T(GETPEER^%ZOSV)="" W !,"The routine %ZOSV is missing the entry point 'GETPEER'."
|
---|
| 53 | I $G(XWBT("PCNT")),$T(COUNT^XUSCNT)="" W !,"The routine XUSCNT is missing on a GT.M system."
|
---|
| 54 | W !,"Checking if new JOB's can start."
|
---|
| 55 | S ^TMP("XWB",$J)=1 J HOLD^XWBTCPMT($J) H 1
|
---|
| 56 | I $G(^TMP("XWB",$J))=1 W !,"Doesn't look like a new JOB could start!",!
|
---|
| 57 | S NEWJOB=$$NEWJOB^XWBTCPM()
|
---|
| 58 | W !,"New jobs are "_$S('NEWJOB:"not ",1:"")_"allowed."
|
---|
| 59 | W !,"Done with the checks.",!
|
---|
| 60 | K ^TMP("XWB",$J)
|
---|
| 61 | Q
|
---|
| 62 | ;
|
---|
| 63 | HOLD(MJ) ;Show that a new job is allowed.
|
---|
| 64 | S ^TMP("XWB",MJ)=5
|
---|
| 65 | HANG 5
|
---|
| 66 | Q
|
---|