version 1.31, 2000/03/14 04:44:17 |
version 1.36, 2000/04/17 03:18:57 |
|
|
/** |
/** |
* $OpenXM: OpenXM/src/OpenMath/OMproxy.java,v 1.30 2000/03/12 14:24:21 tam Exp $ |
* $OpenXM: OpenXM/src/OpenMath/OMproxy.java,v 1.35 2000/03/15 15:02:06 tam Exp $ |
*/ |
*/ |
|
|
import JP.ac.kobe_u.math.tam.OpenXM.*; |
import JP.ac.kobe_u.math.tam.OpenXM.*; |
import java.util.Stack; |
import java.util.Stack; |
import java.io.*; |
import java.io.*; |
|
|
class OMproxy implements Runnable{ |
class OMproxy extends OpenXMserver{ |
private OpenXM ox; |
private OpenXM ox; |
private Stack stack = new Stack(); |
private Stack stack = new Stack(); |
protected boolean debug = false; |
protected boolean debug = false; |
final int version = 200001190; |
final int version = 200001190; |
|
|
public OMproxy(String host,int ControlPort,int DataPort) throws IOException{ |
public void computeProcess(OpenXMconnection stream){ |
ox = new OpenXM(this,host,ControlPort,DataPort); |
|
} |
|
|
|
public void run(){ |
|
OM2OXM P = new OM2OXM(); |
OM2OXM P = new OM2OXM(); |
|
|
debug("OMproxy started."); |
debug("OMproxy started."); |
try{ |
try{ |
while(true){ |
while(true){ |
try{ |
try{ |
int ox_tag = ox.receiveOXtag(); |
OXmessage message = stream.receive(); |
|
int ox_tag = message.getTag(); |
|
|
switch(ox_tag){ |
switch(ox_tag){ |
case OpenXM.OX_COMMAND: |
case OXmessage.OX_COMMAND: |
StackMachine(ox.receiveSM()); |
StackMachine((SM)message.getBody()); |
break; |
break; |
|
|
case OpenXM.OX_DATA: |
case OXmessage.OX_DATA: |
stack.push(ox.receiveCMO()); |
stack.push(message.getBody()); |
debug("push: "+ stack.peek()); |
debug("push: "+ stack.peek()); |
break; |
break; |
} |
} |
Line 69 class OMproxy implements Runnable{ |
|
Line 66 class OMproxy implements Runnable{ |
|
ox.send(new CMO_NULL()); |
ox.send(new CMO_NULL()); |
}else{ |
}else{ |
debug("sending CMO: "+ stack.peek()); |
debug("sending CMO: "+ stack.peek()); |
ox.send(stack.pop()); |
ox.send((CMO)stack.pop()); |
} |
} |
}catch(MathcapViolation e){ |
}catch(MathcapViolation e){ |
try{ |
try{ |
Line 136 class OMproxy implements Runnable{ |
|
Line 133 class OMproxy implements Runnable{ |
|
{ |
{ |
CMO[] CMOFormat = {new CMO_INT32(CMO.NULL), |
CMO[] CMOFormat = {new CMO_INT32(CMO.NULL), |
new CMO_INT32(CMO.INT32), |
new CMO_INT32(CMO.INT32), |
new CMO_INT32(CMO.CMO_STRING), |
new CMO_INT32(CMO.STRING), |
new CMO_INT32(CMO.CMO_LIST), |
new CMO_INT32(CMO.LIST), |
new CMO_INT32(CMO.CMO_MONOMIAL32), |
new CMO_INT32(CMO.MONOMIAL32), |
new CMO_INT32(CMO.CMO_ZZ), |
new CMO_INT32(CMO.ZZ), |
new CMO_INT32(CMO.CMO_QQ), |
new CMO_INT32(CMO.QQ), |
new CMO_INT32(CMO.CMO_ZERO), |
new CMO_INT32(CMO.ZERO), |
new CMO_INT32(CMO.CMO_DMS_GENERIC), |
new CMO_INT32(CMO.DMS_GENERIC), |
new CMO_INT32(CMO.CMO_RECURSIVE_POLYNOMIAL), |
new CMO_INT32(CMO.RECURSIVE_POLYNOMIAL), |
new CMO_INT32(CMO.CMO_DISTRIBUTED_POLYNOMIAL), |
new CMO_INT32(CMO.DISTRIBUTED_POLYNOMIAL), |
new CMO_INT32(CMO.POLYNOMIAL_IN_ONE_VARIABLE), |
new CMO_INT32(CMO.POLYNOMIAL_IN_ONE_VARIABLE), |
new CMO_INT32(CMO.CMO_BIGFLOAT), |
new CMO_INT32(CMO.BIGFLOAT), |
new CMO_INT32(CMO.CMO_INDETERMINATE), |
new CMO_INT32(CMO.INDETERMINATE), |
new CMO_INT32(CMO.CMO_TREE)}; |
new CMO_INT32(CMO.TREE)}; |
CMO[] DataFormat1 = {new CMO_INT32(OpenXM.OX_DATA), |
CMO[] DataFormat1 = {new CMO_INT32(OXmessage.OX_DATA), |
new CMO_LIST(CMOFormat)}; |
new CMO_LIST(CMOFormat)}; |
CMO[] list = {new CMO_LIST(DataFormat1)}; |
CMO[] list = {new CMO_LIST(DataFormat1)}; |
|
|
Line 254 class OMproxy implements Runnable{ |
|
Line 251 class OMproxy implements Runnable{ |
|
return ret; |
return ret; |
} |
} |
|
|
|
/* |
public static void main(String argv[]){ |
public static void main(String argv[]){ |
String host = "localhost"; |
String host = "localhost"; |
int DataPort = 1300, ControlPort = 1200; |
int DataPort = 1300, ControlPort = 1200; |
Line 291 class OMproxy implements Runnable{ |
|
Line 289 class OMproxy implements Runnable{ |
|
System.err.println(e.getMessage()); |
System.err.println(e.getMessage()); |
} |
} |
} |
} |
|
*/ |
} |
} |