diff options
author | Grant Limberg <grant.limberg@zerotier.com> | 2017-03-29 13:29:02 -0700 |
---|---|---|
committer | Grant Limberg <grant.limberg@zerotier.com> | 2017-03-29 13:29:02 -0700 |
commit | 5f611dad51f8244b59a63ecdf48a2126c5995d74 (patch) | |
tree | 957c32101f1398b0a9a2507d9860a140bd614a3e /java/src/com/zerotier | |
parent | 1c5fdb8a0a20654cdec57347647034357e0f92a4 (diff) | |
download | infinitytier-5f611dad51f8244b59a63ecdf48a2126c5995d74.tar.gz infinitytier-5f611dad51f8244b59a63ecdf48a2126c5995d74.zip |
added orbit/deorbit methods to java Node implementation
Diffstat (limited to 'java/src/com/zerotier')
-rw-r--r-- | java/src/com/zerotier/sdk/Node.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/java/src/com/zerotier/sdk/Node.java b/java/src/com/zerotier/sdk/Node.java index 7b111f74..8e7d44e7 100644 --- a/java/src/com/zerotier/sdk/Node.java +++ b/java/src/com/zerotier/sdk/Node.java @@ -89,6 +89,7 @@ public class Node { * @param eventListener User written instance of the {@link EventListener} interface to receive status updates and non-fatal error notices. This instance must be unique per Node object. * @param frameListener * @param configListener User written instance of the {@link VirtualNetworkConfigListener} interface to be called when virtual LANs are created, deleted, or their config parameters change. This instance must be unique per Node object. + * @param pathChecker User written instance of the {@link PathChecker} interface. Not required and can be null. */ public Node(long now, DataStoreGetListener getListener, @@ -322,6 +323,34 @@ public class Node { } /** + * Add or update a moon + * + * Moons are persisted in the data store in moons.d/, so this can persist + * across invocations if the contents of moon.d are scanned and orbit is + * called for each on startup. + * + * @param moonWorldId Moon's world ID + * @param moonSeed If non-zero, the ZeroTier address of any member of the moon to query for moon definition + * @return Error if moon was invalid or failed to be added + */ + public ResultCode orbit( + long moonWorldId, + long moonSeed) { + return orbit(nodeId, moonWorldId, moonSeed); + } + + /** + * Remove a moon (does nothing if not present) + * + * @param moonWorldId World ID of moon to remove + * @return Error if anything bad happened + */ + public ResultCode deorbit( + long moonWorldId) { + return deorbit(nodeId, moonWorldId); + } + + /** * Get this node's 40-bit ZeroTier address * * @return ZeroTier address (least significant 40 bits of 64-bit int) @@ -423,6 +452,15 @@ public class Node { long multicastGroup, long multicastAdi); + private native ResultCode orbit( + long nodeId, + long moonWorldId, + long moonSeed); + + private native ResultCode deorbit( + long nodeId, + long moonWorldId); + private native long address(long nodeId); private native NodeStatus status(long nodeId); |