* Change a few method signatures from java.lang.Long to long[] so that values can be passed back.

Signed-off-by: Grant Limberg <glimberg@gmail.com>
This commit is contained in:
Grant Limberg 2015-04-22 19:18:49 -07:00
parent b33e4af49f
commit 787b4a8e50
2 changed files with 46 additions and 20 deletions

View file

@ -26,18 +26,26 @@ JNIEXPORT void JNICALL Java_com_zerotierone_sdk_Node_node_1delete
/* /*
* Class: com_zerotierone_sdk_Node * Class: com_zerotierone_sdk_Node
* Method: processVirtualNetworkFrame * Method: processVirtualNetworkFrame
* Signature: (JJJJJIILjava/nio/ByteBuffer;ILjava/lang/Long;)Lcom/zerotierone/sdk/ResultCode; * Signature: (JJJJJII[B[J)Lcom/zerotierone/sdk/ResultCode;
*/ */
JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_processVirtualNetworkFrame JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_processVirtualNetworkFrame
(JNIEnv *, jobject, jlong, jlong, jlong, jlong, jlong, jint, jint, jobject, jint, jobject); (JNIEnv *, jobject, jlong, jlong, jlong, jlong, jlong, jint, jint, jbyteArray, jlongArray);
/*
* Class: com_zerotierone_sdk_Node
* Method: processWirePacket
* Signature: (JJLjava/net/InetAddress;I[B[J)Lcom/zerotierone/sdk/ResultCode;
*/
JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_processWirePacket
(JNIEnv *, jobject, jlong, jlong, jobject, jint, jbyteArray, jlongArray);
/* /*
* Class: com_zerotierone_sdk_Node * Class: com_zerotierone_sdk_Node
* Method: processBackgroundTasks * Method: processBackgroundTasks
* Signature: (JJLjava/lang/Long;)Lcom/zerotierone/sdk/ResultCode; * Signature: (JJ[J)Lcom/zerotierone/sdk/ResultCode;
*/ */
JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_processBackgroundTasks JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_processBackgroundTasks
(JNIEnv *, jobject, jlong, jlong, jobject); (JNIEnv *, jobject, jlong, jlong, jlongArray);
/* /*
* Class: com_zerotierone_sdk_Node * Class: com_zerotierone_sdk_Node

View file

@ -29,6 +29,7 @@ package com.zerotierone.sdk;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.lang.Long; import java.lang.Long;
import java.net.InetAddress;
public class Node { public class Node {
static { static {
@ -85,18 +86,6 @@ public class Node {
close(); close();
} }
private native ResultCode processVirtualNetworkFrame(
long nodeId,
long now,
long nwid,
long sourceMac,
long destMac,
int etherType,
int vlanId,
ByteBuffer frameData,
int frameLength,
Long nextBackgroundTaskDeadline);
public ResultCode processVirtualNetworkFrame( public ResultCode processVirtualNetworkFrame(
long now, long now,
long nwid, long nwid,
@ -104,14 +93,24 @@ public class Node {
long destMac, long destMac,
int etherType, int etherType,
int vlanId, int vlanId,
ByteBuffer frameData, byte[] frameData,
int frameLength, long[] nextBackgroundTaskDeadline) {
Long nextBackgroundTaskDeadline) {
return processVirtualNetworkFrame( return processVirtualNetworkFrame(
nodeId, now, nwid, sourceMac, destMac, etherType, vlanId, nodeId, now, nwid, sourceMac, destMac, etherType, vlanId,
frameData, frameLength, nextBackgroundTaskDeadline); frameData, frameLength, nextBackgroundTaskDeadline);
} }
public ResultCode processWirePacket(
long now,
InetAddress remoteAddress,
int linkDesperation,
byte[] packetData,
long[] nextBackgroundTaskDeadline) {
return processWirePacket(
nodeId, now, remoteAddress, linkDesperation, packetData,
nextBackgroundTaskDeadline);
}
public ResultCode processBackgroundTasks(long now, long nextBackgroundTaskDeadline) { public ResultCode processBackgroundTasks(long now, long nextBackgroundTaskDeadline) {
return processBackgroundTasks(nodeId, now, nextBackgroundTaskDeadline); return processBackgroundTasks(nodeId, now, nextBackgroundTaskDeadline);
} }
@ -161,10 +160,29 @@ public class Node {
private native void node_delete(long nodeId); private native void node_delete(long nodeId);
private native ResultCode processVirtualNetworkFrame(
long nodeId,
long now,
long nwid,
long sourceMac,
long destMac,
int etherType,
int vlanId,
byte[] frameData,
long[] nextBackgroundTaskDeadline);
private native ResultCode processWirePacket(
long nodeId,
long now,
InetAddress remoteAddress,
int linkDesperation,
byte[] packetData,
long[] nextBackgroundTaskDeadline);
private native ResultCode processBackgroundTasks( private native ResultCode processBackgroundTasks(
long nodeId, long nodeId,
long now, long now,
Long nextBackgroundTaskDeadline); long[] nextBackgroundTaskDeadline);
private native ResultCode join(long nodeId, long nwid); private native ResultCode join(long nodeId, long nwid);