Return to oxd.sm1 CVS log | Up to [local] / OpenXM / src / kan96xx / Doc |
File: [local] / OpenXM / src / kan96xx / Doc / oxd.sm1 (download)
Revision 1.2, Mon Oct 28 00:38:33 2002 UTC (21 years, 8 months ago) by takayama
Made the following change for the oxd starting protocol: 1. ox itself has to finish. ( ox -finish ) 2. oxd waits the termination of ox and gets the result code. 3. if the result code is 0, then oxd returns <suceeded/>, else oxd returns <failed code=xxyy/> 4. The client of oxd receives the result (<suceeded/> or <failed/>) and sends <login/> and close the session. |
% $OpenXM: OpenXM/src/kan96xx/Doc/oxd.sm1,v 1.2 2002/10/28 00:38:33 takayama Exp $ [(parse) (oxasir.sm1) pushfile] extension % It has not yet been finished. /asirconnectr { [/in-asirconnectr /pass /peer /data /control /comm /oxd /ff /fname /nl /oxasir] pushVariables [ /nl 10 (string) dc def [(sm1.socket) (connect) [8089]] extension /oxd set [(sm1.socket) (select) [oxd 0 get -1]] extension [(sm1.socket) (read) [oxd 0 get]] extension /ff set /gg [(<login method="file">) nl ] cat def ff message gg message [(sm1.socket) (write) [oxd 0 get gg]] extension [(flush)] extension [(sm1.socket) (select) [oxd 0 get -1]] extension [(sm1.socket) (read) [oxd 0 get]] extension /ff set ff getFname /fname set fname message [(touch ) fname ] cat system /peer [(oxGetPort) (localhost)] extension def /data peer 1 get toString def /control peer 3 get toString def % /pass 0 (string) dc def % empty password /pass (hoge) def peer message [(ox -ox ox_asir ) ( -reverse ) ( -data ) data ( -control ) control ( -pass ) pass ( -finish ) ] cat /comm set /gg [ (<done/>) nl ] cat def ff message gg message [(sm1.socket) (write) [oxd 0 get gg]] extension [(sm1.socket) (select) [oxd 0 get -1]] extension [(sm1.socket) (read) [oxd 0 get]] extension /ff set % read ? /gg [(<launch> ) comm ( </launch> ) nl ] cat def ff message gg message [(sm1.socket) (write) [oxd 0 get gg]] extension %% Check if the launching is successful or not. Not yet written. [(oxCreateClient2) peer 0 pass] extension /oxasir set %% 0 means connect from only localhost. oxasir asirinit /arg1 oxasir def ] pop popVariables arg1 } def /getFname { /arg1 set [/in-getFname /comm /i /comm2 /j ] pushVariables [ /comm arg1 def comm (array) dc /comm set % comm message % 34 = " /comm2 [ ] def 0 1 comm length 1 sub { /i set comm i get 34 eq { [ i 1 add 1 comm length 1 sub { /j set comm j get } for ] /comm2 set exit } { } ifelse } for comm2 /comm set % comm message [ 0 1 comm length 1 sub { /i set comm i get 34 eq { exit } { comm i get } ifelse } for ] /comm2 set comm2 {(string) dc} map cat /arg1 set ] pop popVariables arg1 } def