Skip to content

Commit 9f9850d

Browse files
committed
working on better hub integration in shark messenger.
1 parent 7c10ad4 commit 9f9850d

13 files changed

Lines changed: 26 additions & 23 deletions

File tree

libs/ASAPJava.jar

1.25 KB
Binary file not shown.

src/main/java/net/sharksystem/hub/HubConnectionManagerImpl.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,22 @@ public HubConnector getHubConnector(HubConnectorDescription hcd) throws SharkExc
3939
return this.hubManager.getHubConnector(hcd);
4040
}
4141

42-
public HubConnectionManagerImpl(ASAPEncounterManager encounterManager, ASAPPeer asapPeer) {
42+
private Thread hubManangerThread = null;
43+
public HubConnectionManagerImpl(
44+
ASAPEncounterManager encounterManager, ASAPPeer asapPeer, int waitIntervalInSeconds) {
4345
this.asapPeer = asapPeer;
44-
this.hubManager = new ASAPHubManagerImpl(encounterManager);
46+
this.hubManager = new ASAPHubManagerImpl(encounterManager, waitIntervalInSeconds);
47+
// run it
48+
this.hubManangerThread = new Thread(this.hubManager);
49+
this.hubManangerThread.start();
50+
}
51+
52+
public HubConnectionManagerImpl(ASAPEncounterManager encounterManager, ASAPPeer asapPeer) {
53+
this(encounterManager, asapPeer, ASAPHubManagerImpl.DEFAULT_WAIT_INTERVAL_IN_SECONDS);
54+
}
55+
56+
public void stopThreads() {
57+
this.hubManager.kill();
4558
}
4659

4760
@Override

src/main/java/net/sharksystem/hub/hubside/ASAPTCPHub.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
public class ASAPTCPHub extends HubSingleEntitySharedChannel implements Runnable {
1717
public static final int DEFAULT_MAX_IDLE_CONNECTION_IN_SECONDS = 60;
18-
private final boolean newConnection;
18+
private final boolean createNewConnection;
1919
private int maxIdleInMillis = DEFAULT_MAX_IDLE_CONNECTION_IN_SECONDS * 1000;
2020

2121
private final int port;
@@ -35,11 +35,11 @@ public ASAPTCPHub(int port) throws IOException {
3535
this(port, false);
3636
}
3737

38-
public ASAPTCPHub(int port, boolean newConnection) throws IOException {
38+
public ASAPTCPHub(int port, boolean createNewConnection) throws IOException {
3939
this.port = port;
4040
this.nextPort = port+1;
4141
this.serverSocket = new ServerSocket(this.port);
42-
this.newConnection = newConnection;
42+
this.createNewConnection = createNewConnection;
4343
}
4444

4545
public void setPortRange(int minPort, int maxPort) throws ASAPException {
@@ -95,7 +95,7 @@ public void run() {
9595

9696
try {
9797
Connector hubConnectorSession;
98-
if(this.newConnection) {
98+
if(this.createNewConnection) {
9999
hubConnectorSession =
100100
new MultipleTCPChannelsConnectorHubSideImpl(
101101
newConnection.getInputStream(), newConnection.getOutputStream(), this);

src/main/java/net/sharksystem/hub/peerside/ASAPHubManagerImpl.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ public void run() {
235235
Log.writeLog(this, this.toString(), "hub manager thread started");
236236

237237
while (!this.managerThreadStopped) {
238-
Log.writeLog(this, this.toString(), "start a new round");
238+
Log.writeLog(this, this.toString(),"start a new round");
239239

240240
for(HubConnector hubConnector : this.hubConnectors) {
241241
Log.writeLog(this, this.toString(), "check hub connection");
@@ -297,6 +297,8 @@ public void notifySynced(Connector connector, boolean changed) {
297297
@Override
298298
public void notifyPeerConnected(CharSequence targetPeerID, StreamPair streamPair) {
299299
try {
300+
// can be a race condition - this side did not initiate connection establishment
301+
// this.asapEncounterManager.handleEncounter(streamPair, ASAPEncounterConnectionType.ASAP_HUB, false);
300302
this.asapEncounterManager.handleEncounter(streamPair, ASAPEncounterConnectionType.ASAP_HUB);
301303
} catch (IOException e) {
302304
Log.writeLogErr(this, this.toString(), "cannot handle peer encounter: "

src/test/java/net/sharksystem/hub/HubUsageTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ public void usageHubManagerAndTwoPeers(boolean multichannel) throws IOException,
189189
ASAPTCPHub hub = ASAPTCPHub.startTCPHubThread(hubPort, multichannel, MAX_IDLE_IN_SECONDS);
190190

191191
// give it moment to settle in
192-
Thread.sleep(1000);
192+
Thread.sleep(100);
193193

194194
Collection<CharSequence> formats = new ArrayList<>();
195195
formats.add(FORMAT);
@@ -218,7 +218,7 @@ public void usageHubManagerAndTwoPeers(boolean multichannel) throws IOException,
218218

219219
// connect with bulk import
220220
aliceHubManager.connectASAPHubs(hubDescriptions, aliceASAPPeer, true);
221-
Thread.sleep(1000);
221+
Thread.sleep(100);
222222

223223
///////////////////// connect to hub - Bob
224224
// setup encounter manager with a connection handler
@@ -231,10 +231,10 @@ public void usageHubManagerAndTwoPeers(boolean multichannel) throws IOException,
231231

232232
// connect to hub - Bob
233233
bobHubManager.connectASAPHubs(hubDescriptions, bobASAPPeer, true);
234-
Thread.sleep(1000);
234+
Thread.sleep(100);
235235

236236
// give them moment to exchange data
237-
Thread.sleep(5000);
237+
Thread.sleep(500);
238238
//Thread.sleep(Long.MAX_VALUE);
239239
System.out.println("slept a moment");
240240

testplans/connect_e2e_bug1/alice.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

testplans/connect_e2e_bug1/bob.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

testplans/connect_e2e_bug2/alice.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

testplans/connect_e2e_bug2/bob.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

testplans/connect_e2e_bug3/alice.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)