Skip to content

Commit 2b17696

Browse files
committed
extended status message
1 parent 29f68bc commit 2b17696

File tree

4 files changed

+31
-0
lines changed

4 files changed

+31
-0
lines changed

src/main/java/net/sharksystem/asap/ASAPEncounterManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import net.sharksystem.utils.streams.StreamPair;
44

55
import java.io.IOException;
6+
import java.util.Date;
7+
import java.util.Map;
68

79
/**
810
* An ASAP peer can handle ASAP encounter as they come. It takes in- and output stream and runs an ASAP session.

src/main/java/net/sharksystem/asap/ASAPEncounterManagerAdmin.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package net.sharksystem.asap;
22

3+
import java.util.Date;
4+
import java.util.Map;
35
import java.util.Set;
46

57
/**
@@ -58,4 +60,20 @@ public interface ASAPEncounterManagerAdmin {
5860
*/
5961
void cancelConnection(CharSequence peerID);
6062

63+
64+
/**
65+
*
66+
* @return information about last enocunter of a certain peer (described by its id)
67+
*/
68+
Map<CharSequence, Date> getEncounterTime();
69+
70+
/**
71+
* Peers exchange data during an encounter. In certain circumstances, ad-hoc networks show a feature that can be
72+
* described es flickering. Devices might have reached communication range. A little shift can lead to connection
73+
* lost. A little move backwards can bring them back in range. Connection establishment is a time-consuming task,
74+
* though. Each encounter manager waits a while before it re-connects to a peer.
75+
*
76+
* @return time in milliseconds (aka 'cool down periode')
77+
*/
78+
long getTimeBeforeReconnect();
6179
}

src/main/java/net/sharksystem/asap/ASAPEncounterManagerImpl.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,16 @@ public void handleEncounter(StreamPair streamPair, ASAPEncounterConnectionType c
175175
this.handleEncounter(streamPair, connectionType, initiator, true);
176176
}
177177

178+
@Override
179+
public Map<CharSequence, Date> getEncounterTime() {
180+
return this.encounterDate;
181+
}
182+
183+
@Override
184+
public long getTimeBeforeReconnect() {
185+
return this.waitBeforeReconnect;
186+
}
187+
178188
private void handleEncounter(StreamPair streamPair, ASAPEncounterConnectionType connectionType, boolean initiator,
179189
boolean raceCondition) throws IOException {
180190
// always exchange peerIDs

src/test/java/net/sharksystem/asap/serialization/SerializationTests.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.io.ByteArrayInputStream;
1313
import java.io.ByteArrayOutputStream;
1414
import java.io.IOException;
15+
import java.nio.charset.StandardCharsets;
1516
import java.util.ArrayList;
1617
import java.util.List;
1718

0 commit comments

Comments
 (0)