@@ -470,23 +470,71 @@ public void handleASAPAssimilate(ASAP_AssimilationPDU_1_0 asapAssimilationPDU, A
470
470
//>>>>>>>>>>>>>>>>>>>debug
471
471
472
472
if (listener != null ) {
473
- /////// notify listeners - if any
473
+ /////// notify listeners - if any and do it in a separate thread
474
+ // no extra thread required - it is handled by ASAPPeer Wrapper
475
+ // NotifyListenerThread notifyListenerThread = new NotifyListenerThread(listener);
474
476
if (eraSender != ASAP .TRANSIENT_ERA ) {
475
- listener .chunkStored (this .format ,
477
+ // notifyListenerThread.chunkStored(this.format,
478
+ listener .chunkStored (this .format ,
476
479
senderE2E ,
477
480
uri ,
478
481
eraSender ,
479
482
asapHopList
480
483
);
481
484
} else {
485
+ // notifyListenerThread.transientMessagesReceived(transientMessages, lastHop);
482
486
listener .transientMessagesReceived (transientMessages , lastHop );
483
487
}
484
488
485
489
} else {
486
490
Log .writeLog (this , this .toString (), "no chunk assimilated listener found" );
487
491
}
488
492
}
493
+ /*
494
+ private class NotifyListenerThread extends Thread {
495
+ private final ASAPChunkAssimilatedListener listener;
496
+ private String format;
497
+ private String senderE2E;
498
+ private int eraSender;
499
+ private List<ASAPHop> asapHopList;
500
+ private ASAPInMemoTransientMessages transientMessages;
501
+ private ASAPHop lastHop;
502
+ private String uri;
503
+
504
+ private NotifyListenerThread(ASAPChunkAssimilatedListener listener) {
505
+ this.listener = listener;
506
+ }
507
+
508
+ public void chunkStored(String format, String senderE2E, String uri, int eraSender, List<ASAPHop> asapHopList) {
509
+ this.format = format;
510
+ this.senderE2E = senderE2E;
511
+ this.uri = uri;
512
+ this.eraSender = eraSender;
513
+ this.asapHopList = asapHopList;
514
+ this.start();
515
+ }
489
516
517
+ public void transientMessagesReceived(ASAPInMemoTransientMessages transientMessages, ASAPHop lastHop) {
518
+ this.transientMessages = transientMessages;
519
+ this.lastHop = lastHop;
520
+ this.start();
521
+ }
522
+
523
+ public void run() {
524
+ Log.writeLog(this, "thread notifies listener about received messages");
525
+ try {
526
+ if(this.transientMessages != null) {
527
+ this.listener.transientMessagesReceived(this.transientMessages, this.lastHop);
528
+ } else {
529
+ this.listener.chunkStored(this.format, this.senderE2E, this.uri, this.eraSender, this.asapHopList);
530
+ }
531
+ } catch (IOException e) {
532
+ Log.writeLogErr(this, "problems notifying listener about received messages: "
533
+ + e.getLocalizedMessage());
534
+ }
535
+ }
536
+ }
537
+ */
490
538
private ASAPInternalChunk getIncomingChunk (String encounteredPeer , ASAP_AssimilationPDU_1_0 asapAssimilationPDU )
491
539
throws IOException , ASAPException {
492
540
0 commit comments