Documentation of the MyTransaction tool used for example.test
.
The MyTransaction tool is used to test the longterm-transaction-feature of tclmqmsgque.
To test this feature the client connect to the server and send two service-calls:
The service-call itself is quite simple:
Privat_Data_1 or Privat_Data_2
1111 or 2222
The GOAL for this test is:
package require tclmqmsgque namespace import tclmqmsgque::* namespace import tclmkkernel::* proc callback {ctx} { $ctx ReadT_START set myPrivateHandle [$ctx ReadSTR] $ctx ReadT_END set myServiceResult [$ctx ReadI32] puts "myPrivateHandle=$myPrivateHandle, myServiceResult=$myServiceResult" } # setup the client-context set ctx [MqContextC new] try { $ctx ConfigSetName "MyTransaction" # setup commandline arguments used for parsing set args [MkBufferListC CreateLA {*}$argv] # check if the '--token' option is available, default "SRVC" set token [$args CheckOptionSTR "--token" "SRVC"] # connect to the server $ctx LinkCreate $args # register callback $ctx ServiceCreate CLB1 callback # send block using the LOW-Api $ctx SendSTART $ctx SendT_START $ctx SendSTR "Privat_Data_1" $ctx SendT_END $ctx SendI32 11111 $ctx SendEND_AND_TRANSACTION $token CLB1 # send block using the HIGN-Api -> same as above, but shorter $ctx Send "T" CLB1 "$token:(C)I" "Privat_Data_2" 22222 # now we wait for exact ONE result of the $ctx $ctx ProcessEvent MQ_WAIT_OWN } on error {} { $ctx ErrorCatch } finally { $ctx Exit }