*/
private IoTRMIUtil rmiUtil;
private IoTSocketClient rmiClient;
+ private List<String> listMethodId; // Map from method ID to signature
/**
* Constructors
*/
- public IoTRMICall(int _port, String _address, int _rev) throws IOException {
+ public IoTRMICall(int _port, String _address, int _rev, String[] _methodSign) throws IOException {
rmiUtil = new IoTRMIUtil();
rmiClient = new IoTSocketClient(_port, _address, _rev);
+ listMethodId = Arrays.asList(_methodSign); // Initialize the method ID map
}
public byte[] methodToBytes(String methodSign, Class<?>[] paramCls, Object[] paramObj) {
// Get method ID in bytes
- byte[] methodId = IoTRMIUtil.getHashCodeBytes(methodSign);
+ int methId = listMethodId.indexOf(methodSign);
+ byte[] methodId = IoTRMIUtil.intToByteArray(methId);
// Get byte arrays and calculate method bytes length
int numbParam = paramObj.length;
return method;
}
-
+
public static void main(String[] args) throws Exception {
String[] test = { "123", "456", "789" };