@@ -25,10 +25,11 @@ public class SyncServerImpl implements SyncServer {
25
25
this .url = builder .url ;
26
26
27
27
long storeHandle = InternalAccess .getHandle (builder .boxStore );
28
- handle = nativeCreate (storeHandle , url , builder .certificatePath );
28
+ long handle = nativeCreate (storeHandle , url , builder .certificatePath );
29
29
if (handle == 0 ) {
30
30
throw new RuntimeException ("Failed to create sync server: handle is zero." );
31
31
}
32
+ this .handle = handle ;
32
33
33
34
for (SyncCredentials credentials : builder .credentials ) {
34
35
SyncCredentialsToken credentialsInternal = (SyncCredentialsToken ) credentials ;
@@ -46,40 +47,48 @@ public class SyncServerImpl implements SyncServer {
46
47
}
47
48
}
48
49
50
+ private long getHandle () {
51
+ long handle = this .handle ;
52
+ if (handle == 0 ) {
53
+ throw new IllegalStateException ("SyncServer already closed" );
54
+ }
55
+ return handle ;
56
+ }
57
+
49
58
@ Override
50
59
public String getUrl () {
51
60
return url ;
52
61
}
53
62
54
63
@ Override
55
64
public int getPort () {
56
- return nativeGetPort (handle );
65
+ return nativeGetPort (getHandle () );
57
66
}
58
67
59
68
@ Override
60
69
public boolean isRunning () {
61
- return nativeIsRunning (handle );
70
+ return nativeIsRunning (getHandle () );
62
71
}
63
72
64
73
@ Override
65
74
public String getStatsString () {
66
- return nativeGetStatsString (handle );
75
+ return nativeGetStatsString (getHandle () );
67
76
}
68
77
69
78
@ Override
70
79
public void setSyncChangeListener (@ Nullable SyncChangeListener changesListener ) {
71
80
this .syncChangeListener = changesListener ;
72
- nativeSetSyncChangesListener (handle , changesListener );
81
+ nativeSetSyncChangesListener (getHandle () , changesListener );
73
82
}
74
83
75
84
@ Override
76
85
public void start () {
77
- nativeStart (handle );
86
+ nativeStart (getHandle () );
78
87
}
79
88
80
89
@ Override
81
90
public void stop () {
82
- nativeStop (handle );
91
+ nativeStop (getHandle () );
83
92
}
84
93
85
94
@ Override
0 commit comments