blob: be5b28e187e9123beb249c5904b8562409b6ad06 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
import com.zerotier.sockets.*;
//
// Test for:
// Java process does not exit after finishing libzt work
// https://github.com/zerotier/libzt/issues/242
//
// Run and ensure that process exits
//
public class ExitTest {
public static void main(String[] args) throws InterruptedException {
long networkId = Long.parseUnsignedLong("ebe7fbd445e76ac6", 16);
String storagePath = "exittest_storage";
ZeroTierNode node = new ZeroTierNode();
node.initFromStorage(storagePath);
node.initSetEventHandler(new ZeroTierEventListener() {
@Override
public void onZeroTierEvent(long l, int eventCode) {
if (eventCode == ZeroTierNative.ZTS_EVENT_NODE_UP) {
System.err.println("ZTS_EVENT_NODE_UP");
}
if (eventCode == ZeroTierNative.ZTS_EVENT_NODE_ONLINE) {
System.err.println("ZTS_EVENT_NODE_ONLINE");
}
if (eventCode == ZeroTierNative.ZTS_EVENT_NODE_OFFLINE) {
System.err.println("ZTS_EVENT_NODE_OFFLINE");
}
if (eventCode == ZeroTierNative.ZTS_EVENT_NODE_DOWN) {
System.err.println("ZTS_EVENT_NODE_DOWN");
}
if (eventCode == ZeroTierNative.ZTS_EVENT_NETWORK_READY_IP4) {
System.err.println("ZTS_EVENT_NETWORK_READY_IP4");
}
if (eventCode == ZeroTierNative.ZTS_EVENT_NETWORK_READY_IP6) {
System.err.println("ZTS_EVENT_NETWORK_READY_IP6");
}
if (eventCode == ZeroTierNative.ZTS_EVENT_NETWORK_DOWN) {
System.err.println("ZTS_EVENT_NETWORK_DOWN");
}
if (eventCode == ZeroTierNative.ZTS_EVENT_NETWORK_OK) {
System.err.println("ZTS_EVENT_NETWORK_OK");
}
if (eventCode == ZeroTierNative.ZTS_EVENT_NETWORK_ACCESS_DENIED) {
System.err.println("ZTS_EVENT_NETWORK_ACCESS_DENIED");
}
if (eventCode == ZeroTierNative.ZTS_EVENT_NETWORK_NOT_FOUND) {
System.err.println("ZTS_EVENT_NETWORK_NOT_FOUND");
}
}
});
System.err.println("start");
node.start();
System.err.println("delay until online");
while (!node.isOnline()) {
ZeroTierNative.zts_util_delay(50);
}
System.err.println("done delaying");
System.out.println("join");
node.join(networkId);
System.out.println("delaying until transport ready");
while (! node.isNetworkTransportReady(networkId)) {
ZeroTierNative.zts_util_delay(50);
}
System.err.println("stop");
node.stop();
System.err.println("exiting");
}
}
|