Skip to content

Commit 94f7de9

Browse files
committed
prepare extraction of stream/tcp/fs utils into a separate project
1 parent 6f749a5 commit 94f7de9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+259
-212
lines changed

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

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

3-
import net.sharksystem.asap.utils.Helper;
4-
53
import java.io.IOException;
64
import java.net.InetAddress;
75
import java.net.Socket;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package net.sharksystem.asap;
22

3-
import net.sharksystem.streams.StreamPair;
3+
import net.sharksystem.utils.streams.StreamPair;
44

55
import java.io.IOException;
66

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import net.sharksystem.asap.protocol.ASAPConnection;
55
import net.sharksystem.asap.protocol.ASAPConnectionListener;
66
import net.sharksystem.asap.utils.PeerIDHelper;
7-
import net.sharksystem.streams.StreamPair;
7+
import net.sharksystem.utils.streams.StreamPair;
88
import net.sharksystem.utils.Log;
99

1010
import java.io.*;

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

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

33
import net.sharksystem.asap.engine.*;
4-
import net.sharksystem.asap.utils.Helper;
4+
import net.sharksystem.asap.utils.ASAPLogHelper;
55
import net.sharksystem.utils.Log;
66

77
import java.io.IOException;
@@ -95,7 +95,7 @@ public void chunkStored(String format, String senderE2E, String uri, int era,
9595
} else {
9696
this.log("extract messages from chunk and notify listener");
9797
ASAPMessages receivedMessages =
98-
Helper.getMessagesByChunkReceivedInfos(format, senderE2E, uri, this.rootFolder, era);
98+
ASAPLogHelper.getMessagesByChunkReceivedInfos(format, senderE2E, uri, this.rootFolder, era);
9999

100100
this.chunkAssimilated(receivedMessages, format, senderE2E, uri, era, asapHopList, true);
101101
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package net.sharksystem.asap;
2+
3+
import java.util.ArrayList;
4+
import java.util.Collection;
5+
6+
public class ASAPUtils {
7+
/**
8+
*
9+
* @param searchSpace list of possible eras
10+
* @param fromEra lowest era
11+
* @param toEra highest era
12+
* @return list of era which are within from and to and also in search space
13+
*/
14+
public static Collection<Integer> getErasInRange(Collection<Integer> searchSpace,
15+
int fromEra, int toEra) {
16+
17+
Collection<Integer> eras = new ArrayList<>();
18+
19+
// the only trick is to be aware of the cyclic nature of era numbers
20+
boolean wrapped = fromEra > toEra; // it reached the era end and started new
21+
22+
for(Integer era : searchSpace) {
23+
if(!wrapped) {
24+
//INIT ---- from-> +++++++++++++ <-to ----- MAX (+ fits)
25+
if(era >= fromEra && era <= toEra) eras.add(era);
26+
} else {
27+
// INIT+++++++++<-to ------ from->++++++MAX
28+
if(era <= toEra && era >= ASAP.INITIAL_ERA
29+
|| era >= fromEra && era <= ASAP.MAX_ERA
30+
) eras.add(era);
31+
}
32+
}
33+
34+
return eras;
35+
36+
}
37+
}

src/main/java/net/sharksystem/asap/apps/gossip/GossipUI.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
import net.sharksystem.asap.ASAPException;
55
import net.sharksystem.asap.ASAPMessages;
66
import net.sharksystem.asap.engine.*;
7-
import net.sharksystem.asap.utils.Helper;
7+
import net.sharksystem.asap.utils.ASAPLogHelper;
88
import net.sharksystem.asap.cmdline.TCPStream;
99
import net.sharksystem.asap.cmdline.TCPStreamCreatedListener;
10+
import net.sharksystem.utils.SerializationHelper;
1011

1112
import java.io.IOException;
1213
import java.text.DateFormat;
@@ -75,7 +76,7 @@ private void go() {
7576
String myMessage = "message from " + this.peerName + " at " + df.format(new Date());
7677

7778
// convert to bytes
78-
byte[] byteMessage = Helper.str2bytes(myMessage);
79+
byte[] byteMessage = SerializationHelper.str2bytes(myMessage);
7980
this.println("add message");
8081
exampleApp.add("exampleChannel", byteMessage);
8182

@@ -101,14 +102,14 @@ public void chunkStored(String format, String senderE2E, String uri, int era,
101102
List<ASAPHop> asapHop) throws IOException {
102103

103104
ASAPMessages receivedMessages =
104-
Helper.getMessagesByChunkReceivedInfos(format, senderE2E, uri, this.rootFolderName, era);
105+
ASAPLogHelper.getMessagesByChunkReceivedInfos(format, senderE2E, uri, this.rootFolderName, era);
105106

106107
this.println("messages received: " + format + " | " + senderE2E + " | " + uri);
107108

108109
Iterator<byte[]> messages = receivedMessages.getMessages();
109110
while(messages.hasNext()) {
110111
byte[] msgBytes = messages.next();
111-
String receivedMessage = Helper.bytes2str(msgBytes);
112+
String receivedMessage = SerializationHelper.bytes2str(msgBytes);
112113
this.println("message received: " + receivedMessage);
113114
};
114115
}
@@ -119,7 +120,7 @@ private void printReceivedMessages(ASAPMessages asapMessages, List<ASAPHop> asap
119120
Iterator<byte[]> messages = asapMessages.getMessages();
120121
while(messages.hasNext()) {
121122
byte[] msgBytes = messages.next();
122-
String receivedMessage = Helper.bytes2str(msgBytes);
123+
String receivedMessage = SerializationHelper.bytes2str(msgBytes);
123124
this.println("message received: " + receivedMessage);
124125
};
125126
}

src/main/java/net/sharksystem/asap/cmdline/CmdLineUI.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import net.sharksystem.asap.ASAPException;
55
import net.sharksystem.asap.engine.ASAPInternalStorage;
66
import net.sharksystem.asap.engine.*;
7+
import net.sharksystem.utils.fs.FSUtils;
78

89
import java.io.*;
910
import java.util.*;
@@ -603,7 +604,7 @@ public void doCreateASAPMessage(String parameterString) throws ASAPException {
603604
}
604605

605606
public void doResetASAPStorages() {
606-
ASAPEngineFS.removeFolder(PEERS_ROOT_FOLDER);
607+
FSUtils.removeFolder(PEERS_ROOT_FOLDER);
607608
File rootFolder = new File(PEERS_ROOT_FOLDER);
608609
rootFolder.mkdirs();
609610

src/main/java/net/sharksystem/asap/engine/ASAPChunkStorageFS.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import net.sharksystem.asap.ASAPChunkStorage;
77
import net.sharksystem.asap.ASAPMessages;
88
import net.sharksystem.utils.Log;
9+
import net.sharksystem.utils.fs.FSUtils;
910

1011
import java.io.File;
1112
import java.io.FilenameFilter;
@@ -135,7 +136,7 @@ public void dropChunks(int era) throws IOException {
135136
// here comes a Java 6 compatible version - fits to android SDK 23
136137
String eraPathName = this.rootDirectory + "/" + Integer.toString(era);
137138

138-
ASAPEngineFS.removeFolder(eraPathName);
139+
FSUtils.removeFolder(eraPathName);
139140
}
140141

141142
@Override

src/main/java/net/sharksystem/asap/engine/ASAPEngineFS.java

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -293,41 +293,4 @@ public List<CharSequence> getSender() {
293293

294294
return senderList;
295295
}
296-
297-
////////////////////////////////////////////////////////////////////////////////////////
298-
// helper //
299-
////////////////////////////////////////////////////////////////////////////////////////
300-
301-
public static void removeFolder(String eraPathName) {
302-
File dir = new File(eraPathName);
303-
304-
String[] dirEntries = dir.list();
305-
306-
if(dirEntries != null) {
307-
for(String fileName : dirEntries) {
308-
File fileInDir = new File(eraPathName + "/" + fileName);
309-
if(fileInDir.isDirectory()) {
310-
ASAPEngineFS.removeFolder(fileInDir.getAbsolutePath());
311-
} else {
312-
try {
313-
if(!fileInDir.delete()) {
314-
Log.writeLog(ASAPEngineFS.class,"ASAPEngineFS: cannot delete file (try deleteOnExit):"
315-
+ fileInDir);
316-
}
317-
} catch (RuntimeException e) {
318-
Log.writeLog(ASAPEngineFS.class, "cannot file:" + e.getLocalizedMessage());
319-
// try next
320-
}
321-
}
322-
}
323-
}
324-
325-
dir.delete();
326-
dir.deleteOnExit();
327-
try {
328-
Thread.sleep(1); // give file system a moment
329-
} catch (InterruptedException e) {
330-
// nobody wants to know
331-
}
332-
}
333296
}

src/main/java/net/sharksystem/asap/engine/ASAPInMemoMessages.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package net.sharksystem.asap.engine;
22

3-
import net.sharksystem.asap.ASAPHop;
3+
import net.sharksystem.asap.ASAPUtils;
44
import net.sharksystem.utils.Utils;
55
import net.sharksystem.asap.ASAPException;
66
import net.sharksystem.asap.ASAPMessages;
@@ -72,7 +72,7 @@ private void syncChunkList() throws IOException {
7272
Collection<Integer> erasInFolder = Utils.getErasInFolder(this.chunkStorage.getRootDirectory());
7373
if(erasInFolder.isEmpty()) return;
7474

75-
Collection<Integer> erasToUse = Utils.getErasInRange(erasInFolder, this.fromEra, this.toEra);
75+
Collection<Integer> erasToUse = ASAPUtils.getErasInRange(erasInFolder, this.fromEra, this.toEra);
7676
if(erasToUse.isEmpty()) return;
7777

7878
/*

0 commit comments

Comments
 (0)