Skip to content

Commit 7719aba

Browse files
committed
initial credential / certificate exchange is not stable yet
1 parent 046b1f3 commit 7719aba

File tree

9 files changed

+111
-37
lines changed

9 files changed

+111
-37
lines changed

src/net/sharksystem/asap/ASAPEngine.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ public void add(CharSequence urlTarget, byte[] messageAsBytes) throws IOExceptio
193193
System.err.println(sb.toString());
194194
}
195195
Log.writeLog(this, "... done sending online message");
196+
} else {
197+
Log.writeLog(this, "online sending no active");
196198
}
197199
}
198200

@@ -811,4 +813,21 @@ public void newEra() {
811813
System.out.println(sb.toString());
812814
}
813815
}
814-
}
816+
817+
////////////////////////////////////////////////////////////////////////////////////////////////////////////
818+
// Online management //
819+
////////////////////////////////////////////////////////////////////////////////////////////////////////////
820+
821+
public void activateOnlineMessages(MultiASAPEngineFS multiEngine) {
822+
if(this.asapOnlineMessageSender == null) {
823+
Log.writeLog(this, "created new online message sender");
824+
this.attachASAPMessageAddListener(new ASAPOnlineMessageSenderEngineSide(multiEngine));
825+
} else {
826+
Log.writeLog(this, "online message sender was already active");
827+
}
828+
}
829+
830+
public void deactivateOnlineMessages() {
831+
this.detachASAPMessageAddListener();
832+
}
833+
}

src/net/sharksystem/asap/ASAPInMemoMessages.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,12 @@ public ASAPInMemoMessages(ASAPChunkStorageFS chunkStorage,
4242
}
4343

4444
public String toString() {
45-
return "format: " + format + " | uri: " + uri
46-
+ " | rootDir: " + chunkStorage.getRootDirectory()
47-
+ " | fromEra: " + fromEra+ " | toEra: " + toEra;
45+
return "format: "
46+
+ format
47+
+ " | uri: " + uri
48+
+ " | fromEra: " + fromEra
49+
+ " | toEra: " + toEra
50+
+ " | rootDir: " + chunkStorage.getRootDirectory();
4851
}
4952

5053
public ASAPInMemoMessages(ASAPChunkStorageFS chunkStorage,

src/net/sharksystem/asap/ASAPOnlineMessageSender.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,7 @@ void sendASAPAssimilateMessage(CharSequence format, CharSequence urlTarget, Char
1212

1313
void sendASAPAssimilateMessage(CharSequence format, CharSequence urlTarget, byte[] messageAsBytes, int era)
1414
throws IOException, ASAPException;
15+
16+
void sendASAPAssimilateMessage(CharSequence format, CharSequence urlTarget, byte[] messageAsBytes)
17+
throws IOException, ASAPException;
1518
}

src/net/sharksystem/asap/ASAPOnlineMessageSenderEngineSide.java

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,7 @@ public ASAPOnlineMessageSenderEngineSide(MultiASAPEngineFS multiEngine) {
2929

3030
public void sendASAPAssimilateMessage(CharSequence format, CharSequence uri, byte[] messageAsBytes)
3131
throws IOException, ASAPException {
32-
33-
// can I determine an era?
34-
int era = ASAPEngineFS.DEFAULT_INIT_ERA;
35-
try {
36-
ASAPEngine asapEngine = this.multiEngine.getASAPEngine(format);
37-
era = asapEngine.getEra();
38-
} catch (ASAPException e) {
39-
Log.writeLog(this, "no engine for online message found with format: " + format);
40-
}
41-
42-
this.sendASAPAssimilateMessage(format, uri, messageAsBytes, era);
32+
this.sendASAPAssimilateMessage(format, uri, messageAsBytes, ASAPEngineFS.DEFAULT_INIT_ERA);
4333
}
4434

4535
public void sendASAPAssimilateMessage(CharSequence format, CharSequence uri, byte[] messageAsBytes, int era)
@@ -54,7 +44,7 @@ public void sendASAPAssimilateMessage(CharSequence format, CharSequence uri, byt
5444
Set<CharSequence> onlinePeerList = new HashSet<>();
5545
for(CharSequence peerName : onlinePeers) {
5646
onlinePeerList.add(peerName);
57-
System.out.println(this.getLogStart() + peerName + "is online");
47+
System.out.println(this.getLogStart() + peerName + " is online");
5848
}
5949

6050
this.sendASAPAssimilateMessage(format, uri, onlinePeerList, messageAsBytes, era);
@@ -66,19 +56,21 @@ public void sendASAPAssimilateMessage(CharSequence format, CharSequence uri, Set
6656
if(recipients == null || recipients.size() < 1) {
6757
// replace empty recipient list with list of online peers.
6858
this.sendASAPAssimilateMessage(format, uri, messageAsBytes, era);
59+
return;
6960
}
7061

7162
StringBuilder sb = Log.startLog(this);
7263
sb.append("sendASAPAssimilate(format: ");
7364
sb.append(format);
74-
sb.append(", uri: ");
65+
sb.append("| uri: ");
7566
sb.append(uri);
76-
sb.append(", era: ");
67+
sb.append("| era: ");
7768
sb.append(era);
78-
sb.append(", #recipients: ");
79-
sb.append(recipients.size());
80-
sb.append(", messageBytes: ");
81-
sb.append(new String(messageAsBytes));
69+
sb.append("| #recipients: ");
70+
if(recipients != null) sb.append(recipients.size());
71+
else sb.append("null");
72+
sb.append("| length: ");
73+
sb.append(messageAsBytes.length);
8274
sb.append(")");
8375
System.out.println(sb.toString());
8476

@@ -133,12 +125,13 @@ public void sendStoredMessages(ASAPConnection asapConnection, OutputStream os) t
133125
CharSequence recipient = this.connectionPeers.get(asapConnection);
134126

135127
List<byte[]> messageList = this.messages.get(recipient);
136-
System.out.println(this.getLogStart() + " send message(s) to " + recipient);
128+
System.out.println(this.getLogStart() + "send message(s) to " + recipient);
129+
System.out.println(this.getLogStart() + "send message to " + recipient);
130+
System.out.println(this.getLogStart() + "outstream: " + os.getClass().getSimpleName());
137131
while(!messageList.isEmpty()) {
138-
System.out.println(this.getLogStart() + " send message to " + recipient);
139-
System.out.println(this.getLogStart() + "outstream: " + os.getClass().getSimpleName());
140-
os.write(messageList.remove(0));
141-
System.out.println(this.getLogStart() + "wrote");
132+
byte[] messageBytes = messageList.remove(0);
133+
os.write(messageBytes);
134+
System.out.println(this.getLogStart() + "wrote pure bytes: " + messageBytes.length);
142135
}
143136

144137
this.messages.remove(recipient);

src/net/sharksystem/asap/ASAPSingleProcessOnlineMessageSender.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import net.sharksystem.asap.protocol.ASAPConnection;
44
import net.sharksystem.asap.protocol.ASAPOnlineMessageSource;
5+
import net.sharksystem.asap.util.Log;
56

67
import java.io.IOException;
78
import java.io.OutputStream;
@@ -25,6 +26,11 @@ public void sendASAPAssimilateMessage(CharSequence format, CharSequence uri, Set
2526
format, uri, recipients, messageAsBytes, era);
2627
}
2728

29+
public void sendASAPAssimilateMessage(CharSequence format, CharSequence uri, byte[] messageAsBytes)
30+
throws IOException, ASAPException {
31+
this.sendASAPAssimilateMessage(format, uri, messageAsBytes, ASAPEngineFS.DEFAULT_INIT_ERA);
32+
}
33+
2834
@Override
2935
public void sendASAPAssimilateMessage(CharSequence format, CharSequence uri, byte[] messageAsBytes, int era)
3036
throws IOException, ASAPException {

src/net/sharksystem/asap/MultiASAPEngineFS.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,11 @@ public interface MultiASAPEngineFS {
103103
* @throws ASAPException
104104
*/
105105
void sendOnlineASAPAssimilateMessage(CharSequence format, CharSequence urlTarget, Set<CharSequence> recipients,
106-
byte[] messageAsBytes, int era) throws IOException, ASAPException;
106+
byte[] messageAsBytes, int era) throws IOException, ASAPException;
107107

108+
void sendOnlineASAPAssimilateMessage(CharSequence format, CharSequence urlTarget, Set<CharSequence> recipients,
109+
byte[] messageAsBytes) throws IOException, ASAPException;
110+
111+
void sendOnlineASAPAssimilateMessage(CharSequence format, CharSequence urlTarget, byte[] messageAsBytes)
112+
throws IOException, ASAPException;
108113
}

src/net/sharksystem/asap/MultiASAPEngineFS_Impl.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -487,24 +487,37 @@ public void pushInterests(OutputStream os) throws IOException, ASAPException {
487487

488488
@Override
489489
public void activateOnlineMessages() {
490-
ASAPOnlineMessageSender asapOnlineMessageSender = new ASAPOnlineMessageSenderEngineSide(this);
490+
// ASAPOnlineMessageSender asapOnlineMessageSender = new ASAPOnlineMessageSenderEngineSide(this);
491491

492492
// iterate engines
493493
for(ASAPEngine engine : this.getEngines()) {
494-
engine.attachASAPMessageAddListener(asapOnlineMessageSender);
494+
// engine.attachASAPMessageAddListener(asapOnlineMessageSender);
495+
engine.activateOnlineMessages(this);
495496
}
496497
}
497498

498499
@Override
499500
public void deactivateOnlineMessages() {
500501
// iterate engines
501502
for(ASAPEngine engine : this.getEngines()) {
502-
engine.detachASAPMessageAddListener();
503+
engine.deactivateOnlineMessages();
503504
}
504505
}
505506

506507
public void sendOnlineASAPAssimilateMessage(CharSequence format, CharSequence urlTarget,
507-
Set<CharSequence> recipients, byte[] messageAsBytes, int era) throws IOException, ASAPException {
508+
byte[] messageAsBytes) throws IOException, ASAPException {
509+
510+
this.sendOnlineASAPAssimilateMessage(format, urlTarget, null, messageAsBytes, ASAP.INITIAL_ERA);
511+
}
512+
513+
public void sendOnlineASAPAssimilateMessage(CharSequence format, CharSequence urlTarget,
514+
Set<CharSequence> recipients, byte[] messageAsBytes) throws IOException, ASAPException {
515+
516+
this.sendOnlineASAPAssimilateMessage(format, urlTarget, recipients, messageAsBytes, ASAP.INITIAL_ERA);
517+
}
518+
519+
public void sendOnlineASAPAssimilateMessage(CharSequence format, CharSequence urlTarget,
520+
Set<CharSequence> recipients, byte[] messageAsBytes, int era) throws IOException, ASAPException {
508521

509522
// setup online message sender thread
510523
Log.writeLog(this, "setup online message sender object");

src/net/sharksystem/asap/util/Helper.java

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

3+
import net.sharksystem.Utils;
4+
import net.sharksystem.asap.ASAPChunkStorage;
5+
import net.sharksystem.asap.ASAPEngine;
6+
import net.sharksystem.asap.ASAPEngineFS;
7+
import net.sharksystem.asap.ASAPException;
8+
import net.sharksystem.asap.apps.ASAPMessages;
9+
10+
import java.io.IOException;
311
import java.util.*;
412

513
public class Helper {
@@ -77,4 +85,28 @@ public static Set list2set(List aList) {
7785

7886
return aSet;
7987
}
88+
89+
public static ASAPMessages getMessageByChunkReceivedInfos(String format, String sender, String uri,
90+
String folderName, int era) {
91+
try {
92+
String rootIncomingStorage = folderName + "/" + Utils.url2FileName(format);
93+
Log.writeLog(Helper.class, "try getting storage in folder " + rootIncomingStorage);
94+
ASAPEngine existingASAPEngineFS =
95+
ASAPEngineFS.getExistingASAPEngineFS(rootIncomingStorage);
96+
Log.writeLog(Helper.class, "got existing asap engine");
97+
98+
ASAPChunkStorage chunkStorage = existingASAPEngineFS.getIncomingChunkStorage(sender);
99+
Log.writeLog(Helper.class, "got incoming channel of " + sender);
100+
101+
ASAPMessages asapMessages = chunkStorage.getASAPChunkCache(uri, era, era);
102+
Log.writeLog(Helper.class, "got messages uri: " + uri + " / era: " + era);
103+
104+
return asapMessages;
105+
} catch (IOException | ASAPException e) {
106+
Log.writeLog(Helper.class, "could not access message after be informed about new chunk arrival"
107+
+ e.getLocalizedMessage());
108+
}
109+
110+
return null;
111+
}
80112
}

src/net/sharksystem/asap/util/Log.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,26 @@ public static StringBuilder startLog(Object o) {
55
return Log.startLog(o.getClass());
66
}
77

8-
public static StringBuilder startLog(Class c) {
8+
public static StringBuilder startLog(Class c) {
99
StringBuilder sb = new StringBuilder();
1010
sb.append(c.getSimpleName());
1111
sb.append(": ");
1212
return sb;
1313
}
1414

1515
public static void writeLog(Object o, String message) {
16-
System.out.println(Log.startLog(o) +": " + message);
16+
System.out.println(Log.startLog(o) + message);
1717
}
1818

1919
public static void writeLog(Class c, String message) {
20-
System.out.println(Log.startLog(c) +": " + message);
20+
System.out.println(Log.startLog(c) + message);
2121
}
2222

2323
public static void writeLogErr(Object o, String message) {
24-
System.err.println(Log.startLog(o) +": " + message);
24+
System.err.println(Log.startLog(o) + message);
2525
}
2626

2727
public static void writeLogErr(Class c, String message) {
28-
System.err.println(Log.startLog(c) +": " + message);
28+
System.err.println(Log.startLog(c) + message);
2929
}
3030
}

0 commit comments

Comments
 (0)