* 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
* 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
(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
* 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
(JNIEnv *, jobject, jlong, jlong, jobject);
(JNIEnv *, jobject, jlong, jlong, jlongArray);
/*
* Class: com_zerotierone_sdk_Node

View File

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