Grant Limberg
be0af135bc
update JNI code for 1.1.6
2016-07-07 20:07:07 -07:00
Grant Limberg
3993dfa2a5
Fix JNI for API changes in 1.1.4
2016-01-22 18:06:58 -08:00
Grant Limberg
399b2e9e26
forgot to submit this. Add DeferredPackets.cpp to the android makefile
2015-11-17 19:16:10 -08:00
Grant Limberg
0508a41afd
added ttl parameter to WirePacketSendFunction
2015-11-14 17:40:17 -08:00
Grant Limberg
eadeac0a42
logging of events
2015-11-03 19:14:11 -08:00
Grant Limberg
b7df177f33
updates for origin/edge
2015-11-02 19:18:55 -08:00
Grant Limberg
75a191a856
don't create an InetSocketAddress on local address if it's equal to ZT_SOCKADDR_NULL
2015-09-26 14:10:45 -07:00
Grant Limberg
7c3be2b5c1
fix function signature in lookup for onSendPacketRequested function
2015-09-26 14:10:16 -07:00
Grant Limberg
0b9e5928d3
update PacketSender interface
2015-09-26 13:53:38 -07:00
Grant Limberg
e8cdff3eaf
Merge branch 'adamierymenko-dev' into android-jni-dev
...
also update for changed function calls that now accept a local address
# Conflicts:
# include/ZeroTierOne.h
# java/CMakeLists.txt
# java/jni/Android.mk
# java/jni/ZT1_jnicache.cpp
# java/jni/ZT1_jnilookup.h
# java/jni/ZT1_jniutils.cpp
# java/jni/com_zerotierone_sdk_Node.cpp
2015-09-26 13:47:55 -07:00
Adam Ierymenko
f69454ec98
(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
2015-09-24 16:21:36 -07:00
Grant Limberg
e45475c5b5
fixed a misspelling
2015-07-09 20:26:23 -07:00
Grant Limberg
a408e5f685
set ZT_NO_TYPE_PUNNING and -O3 for Android builds
2015-07-08 18:00:13 -07:00
Grant Limberg
ab34884e3e
Set -O0
...
anything above that currently goes kaboom on ARM platforms
2015-07-03 18:14:50 -07:00
Grant Limberg
0b7cd2f40a
change some build settings. add a lock
2015-07-01 20:26:14 -07:00
Grant Limberg
f803dd5ff4
...
2015-07-01 18:13:39 -07:00
Grant Limberg
aee8e95d49
logging
2015-06-30 19:21:46 -07:00
Grant Limberg
c9919cc5ba
reflect changes to ZT1_PeerRole in JNI
2015-06-26 18:26:57 -07:00
Grant Limberg
bfb152f53f
configure the NDK to build all supported ABIs and package them up in the jar
2015-06-24 20:31:22 -07:00
Grant Limberg
759d71037e
added Comparable interface to VirtualNetworkConfig so we can sort arrays containing it.
2015-06-23 23:03:02 -07:00
Grant Limberg
adf89901c4
dont consider multicast groups in VirtualNetworkConfig.equals()
2015-06-19 19:00:06 -07:00
Grant Limberg
dfdd46db80
Merge branch 'adamierymenko-dev' into android-jni
2015-06-17 18:42:23 -07:00
Grant Limberg
abbcb0a12c
Modified ant build script so that it can be integrated with Android Studio's build system
2015-06-13 14:38:04 -07:00
Grant Limberg
472206dfb2
Rename JniCache to JniLookup
...
Removed caching capabilities as the cached methods, fields, and objects appears to be broken on Android
2015-06-10 20:16:13 -07:00
Grant Limberg
7e84f5a7db
killing whitespace
2015-06-09 23:24:54 -07:00
Grant Limberg
6889fcfc28
Looks like it was the JNI cash causing the crash.
...
Forcing it to look up classes and methods instead of caching them stopped the crashes in the GC. Will investigate more later.
2015-06-09 23:24:47 -07:00
Grant Limberg
4dc0ff8f13
Replace calls to Get<Type>ArrayElements with GetPrimitiveArrayCritical.
...
This puts code accessing the data in a critical section so that the GC cannot run while JNI has access to the array. This helps with stability somewhat, but I'm still getting some crashes in the GC
2015-06-09 23:12:44 -07:00
Grant Limberg
ced040c503
Logging and adding .equals() methods to MulticastGroup and VirtualNetworkCofnig
2015-06-09 19:38:05 -07:00
Grant Limberg
7cc64c5cb6
Might help to set the enabled field on a VirtualNetworkConfig object :)
2015-06-03 21:29:19 -07:00
Grant Limberg
b84dba3ecb
more logging
2015-06-03 21:29:07 -07:00
Grant Limberg
8fb9df9751
delete dead test code
2015-06-03 18:35:38 -07:00
Grant Limberg
fb0bf52b1b
Fixed sending a port number of 0 to ZT1.
...
Fixed VirtualNetworkConfigFunction (creating array to send to Java)
Fixed the creating InetAddress instead of InetSocketAddress in virtual network config callback
2015-06-01 20:03:28 -07:00
Grant Limberg
74f7d5377d
Enable ZT_TRACE and more verbose build output
2015-06-01 20:01:37 -07:00
Grant Limberg
5015c0ae78
more logging
2015-05-28 21:03:37 -07:00
Grant Limberg
b6196a53de
Fix DataStoreGetFunction.
2015-05-28 20:37:16 -07:00
Grant Limberg
58ca657da6
Use object arrays rather than ArrayList. JNI side
2015-05-28 20:36:54 -07:00
Grant Limberg
7822616966
Replace ArrayList instances with []
2015-05-28 20:01:30 -07:00
Grant Limberg
4c680e3126
LOTS more error checking and logging.
...
Running into a wall attempting to add items to an ArrayList from the JNI side
2015-05-27 20:42:54 -07:00
Grant Limberg
09631ad382
fix datastore get call in JNI
...
Just delete the local reference rather than do an array delete. Array delete was causing a crash on loading network config files. Deleting the local ref works fine, though, as it still lets the JVM garbage collecter know that the native code is done with the array
2015-05-26 21:32:56 -07:00
Grant Limberg
2d67196667
added the android verbose log level and moved most jni debug messages to verbose
2015-05-26 21:31:34 -07:00
Grant Limberg
9755dad7ff
add a missing break from a switch
2015-05-26 21:30:33 -07:00
Grant Limberg
adaf9cf32b
still getting re-used to all the places you have to put access modifiers in Java
2015-05-26 20:03:47 -07:00
Grant Limberg
6e998efd15
fixing up data store stuff
2015-05-23 18:29:16 -07:00
Grant Limberg
1e043a3f66
Remove link desperation from java API
2015-05-21 19:34:19 -07:00
Kees Bos
a425bbc673
Renamed supernode to rootserver
2015-05-06 12:05:20 +02:00
Grant Limberg
e28712555d
build & package libZeroTierOneSDK.jnilib on Mac oS
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-05-04 20:04:44 -07:00
Grant Limberg
7054c365f2
put a read timeout on the socket
2015-05-02 18:34:47 -07:00
Grant Limberg
06ab338ecc
added naive OneService implementation.
...
Does nothing but send packets to master nodes and listen for packets back.
2015-05-02 18:24:52 -07:00
Grant Limberg
ad6ec22857
DataStore now works
2015-05-02 18:22:56 -07:00
Grant Limberg
a9307693a6
Adding Data Store implementations for Android and normal Java
2015-05-02 17:32:12 -07:00
Grant Limberg
742c59a7c7
Refactor package name from com.zerotierone.sdk to com.zerotier.sdk
2015-05-02 16:54:00 -07:00
Grant Limberg
e79a6915ff
ensure java is compiled for JVM 1.7. Android cant read .class files compiled for 1.8
2015-05-02 12:06:07 -07:00
Grant Limberg
818339f966
replace old direct calls to FindClass, GetMethodID, etc with calls that use the cache
2015-05-02 12:05:40 -07:00
Grant Limberg
079d248eab
added a JniCache objectet for caching jclass, jmethodID, and jfieldID objects
2015-05-02 12:05:02 -07:00
Grant Limberg
9f2732d661
add the basedir to the ant buildfile
2015-05-02 10:16:10 -07:00
Grant Limberg
fb6b56a85f
clean up unused imports
2015-05-01 18:27:34 -07:00
Grant Limberg
02b33e3763
Yeah it helps to byte swap the port back to little-endian before sending the port off to Java
2015-04-30 22:07:14 -07:00
Grant Limberg
0a15eae00f
Setup native build for Windows Java.
...
Still need to do Mac & Linux
2015-04-30 21:50:28 -07:00
Grant Limberg
75d7137025
added a class I found to load JNI code from within JAR files on non-android platforms.
...
That doesn't come for free, unlike android.
2015-04-30 21:50:05 -07:00
Grant Limberg
9464504e4a
DataStoreGet and Put and EventListener appear to work
2015-04-29 21:20:50 -07:00
Grant Limberg
7e0cc28a89
Fixes for bugs pointed out by updating warnings
2015-04-29 19:29:35 -07:00
Grant Limberg
9bf9670ff9
add more warnings to the JNI build
2015-04-29 19:14:52 -07:00
Grant Limberg
5983b4367b
jclass pointers aren't as cacheable as originally thought.
...
There is a way to do it. We can try it later if we determine it's needed for performance reasons. Otherwise, don't use static to cache them
2015-04-27 18:38:13 -07:00
Grant Limberg
d1ed269537
Switch to InetSockAddress instead of InetAddress so we can send the port # to java as well
2015-04-27 17:48:37 -07:00
Grant Limberg
4c71e92a67
It's now possible to actually create a Node object in Java/Android!!!
2015-04-25 20:47:21 -07:00
Grant Limberg
3bdbc6390f
Added logging to Android logcat
2015-04-25 20:46:56 -07:00
Grant Limberg
8a09e0ec3c
added NodeException
2015-04-25 20:46:41 -07:00
Grant Limberg
db80070ccb
fix strings pointing to enum fields in ResultCode java class
2015-04-25 19:19:58 -07:00
Grant Limberg
042f914dc5
If we could not recursively add ZeroTierOneSDK.jar to ZeroTierOneSDK.jar, that would be greeeaaaaat
2015-04-25 19:09:30 -07:00
Grant Limberg
a86a0ab2b1
Package the Android native libraries right in the .jar file
2015-04-25 18:59:00 -07:00
Grant Limberg
29bb2a9004
fix for a previously renamed class
2015-04-25 18:58:43 -07:00
Grant Limberg
56f8160af8
generate javadocs for the Java SDK
2015-04-25 17:29:07 -07:00
Grant Limberg
0d4283a3fa
Cache jclass and jmethod instances for callbacks on the JniRef struct.
...
This is safe to cache as none of the instantiated callback interfaces can be changed once a Node object is created.
2015-04-24 20:34:36 -07:00
Grant Limberg
9c62ce9e6f
implemented EventCallback
...
All callback methods are now implemented
2015-04-24 20:13:21 -07:00
Grant Limberg
f2eed5a65f
implemented WirePacketSendFunction
2015-04-24 19:43:17 -07:00
Grant Limberg
5e1fb4e253
Realized that the jclass and jmethodID variables in the callbacks cannot be static
...
There's no guarantee that ALL calls to the callbacks will be on the same class as they're just interfaces and user defined
2015-04-24 19:35:18 -07:00
Grant Limberg
dc00ce4f44
added DataStorePutFunction implementation
...
updated DataStorePutListener to also have an onDelete() method
2015-04-24 19:28:44 -07:00
Grant Limberg
53ebd5a9a5
don't need to pass buffer size because java arrays have a .length member
2015-04-24 19:14:59 -07:00
Grant Limberg
d5fc2b39aa
implemented DataStoreGetFunction callback
2015-04-24 19:11:49 -07:00
Grant Limberg
4137246653
implemented VirtualNetworkFrameFunctionCallback
2015-04-24 18:49:52 -07:00
Grant Limberg
28168fa673
implement VirtualNetworkConfigFunctionCallback
2015-04-24 18:39:17 -07:00
Grant Limberg
99af0f3a88
moved creation of VirtualNetworkConfig objects to ZT1_jniutils
...
added implementation of networks() method
2015-04-24 18:20:10 -07:00
Grant Limberg
6f07a476a6
create and return the peer array
2015-04-24 18:06:26 -07:00
Grant Limberg
52a20b4b0f
create PeerRole and PeerPhysicalPath objects
2015-04-24 17:58:59 -07:00
Grant Limberg
f3c29d3f0d
rename PhysicalPeerPath -> PeerPhysicalPath to reflect C API
2015-04-24 17:58:31 -07:00
Grant Limberg
b3429481cd
update build instructions
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-24 17:04:08 -07:00
Grant Limberg
1a65a79e57
set 'build' as the default ant target
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 23:14:09 -07:00
Grant Limberg
6dd3c07b25
removing unneeded jni headers
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 23:09:42 -07:00
Grant Limberg
1df6bc6bc3
just adjusting some alignment
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 23:09:30 -07:00
Grant Limberg
9ab7280703
added infrastructure for Node.peers() and Node.networks() functions
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 23:08:28 -07:00
Grant Limberg
7f6556eba0
node.networkConfig() now creates ArrayLists of multicast subscriptions and assigned addresses
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 22:48:56 -07:00
Grant Limberg
1bea940323
fix field ID signatures
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 22:47:56 -07:00
Grant Limberg
6ff2e6ecfe
move findNode method back
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 22:46:54 -07:00
Grant Limberg
d66f2cd54d
Node.networkConfig now only needs to populate the lists of assigned addresses and multicast subscriptions and then it's finished
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 21:43:16 -07:00
Grant Limberg
46adf870a1
move utility functions from anon namespace to ZT1_jniutils
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 21:39:07 -07:00
Grant Limberg
4906f8e848
added stub utility functions for creating ArrayLists, appending items to ArrayLists, creating InetAddress objects, and MulticastGroup objects
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 21:36:33 -07:00
Grant Limberg
fa9d42b7e5
finished the JNI implementation of the status() method on Node
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 20:52:47 -07:00
Grant Limberg
1a528aec76
don't require clean before build
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 20:34:59 -07:00
Grant Limberg
ffb9e2901e
fix a build error
...
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 20:29:23 -07:00
Grant Limberg
407e2fc7de
Added ant build script. Requires NDK_BUILD_LOC environment variable pointing to the ndk-build script
...
fixed compile erros in Node and VirutalNetworkConfig
Signed-off-by: Grant Limberg <glimberg@gmail.com>
2015-04-23 20:17:29 -07:00