11package net .sharksystem .asap .apps .mock ;
22
33import net .sharksystem .asap .*;
4- import net .sharksystem .asap .apps .ASAPPeerServices ;
4+ import net .sharksystem .asap .apps .ASAPMessageReceivedListener ;
5+ import net .sharksystem .asap .apps .ASAPSimplePeer ;
6+ import net .sharksystem .asap .listenermanager .ASAPMessageReceivedListenerManager ;
57import net .sharksystem .asap .util .Helper ;
68
79import java .io .File ;
810import java .io .IOException ;
911import java .net .ServerSocket ;
1012import java .net .Socket ;
13+ import java .util .Set ;
1114
12- public class ASAPSimplePeer extends ASAPBasicAbstractPeer implements ASAPPeerServices , ASAPChunkReceivedListener {
15+ public class ASAPSimplePeerFS extends ASAPBasicAbstractPeer implements ASAPSimplePeer ,
16+ ASAPChunkReceivedListener , ASAPOnlinePeersChangedListener {
1317 private final ASAPPeer peer ;
1418 private final String folderName ;
1519 private ServerSocket serverSocket = null ;
1620 private Socket socket = null ;
1721
18- public ASAPSimplePeer (CharSequence peerName ) throws IOException , ASAPException {
22+ public ASAPSimplePeerFS (CharSequence peerName ) throws IOException , ASAPException {
1923 super (peerName );
2024 this .folderName = "./peers/" + peerName ;
21- File asapFolder = new File (folderName );
22- if (!asapFolder .exists ()) {
23- asapFolder .mkdirs ();
24- }
2525 this .peer = ASAPPeerFS .createASAPPeer (peerName , folderName , this );
26+ this .peer .addOnlinePeersChangedListener (this );
2627 }
2728
2829 @ Override
@@ -37,21 +38,20 @@ public void sendASAPMessage(CharSequence appName, CharSequence uri, byte[] messa
3738 }
3839 }
3940
40-
41- public void startEncounter (int port , ASAPSimplePeer otherPeer ) throws IOException {
41+ public void startEncounter (int port , ASAPSimplePeerFS otherPeer ) throws IOException {
4242 this .serverSocket = new ServerSocket (port );
4343
4444 new Thread (new Runnable () {
4545 @ Override
4646 public void run () {
4747 try {
48- ASAPSimplePeer .this .socket = ASAPSimplePeer .this .serverSocket .accept ();
48+ ASAPSimplePeerFS .this .socket = ASAPSimplePeerFS .this .serverSocket .accept ();
4949 } catch (IOException e ) {
50- ASAPSimplePeer .this .log ("fatal while waiting for client to connect: "
50+ ASAPSimplePeerFS .this .log ("fatal while waiting for client to connect: "
5151 + e .getLocalizedMessage ());
5252 }
5353
54- ASAPSimplePeer .this .startSession ();
54+ ASAPSimplePeerFS .this .startSession ();
5555 }
5656 }).start ();
5757
@@ -69,7 +69,7 @@ private void connect(int port) throws IOException {
6969 this .startSession ();
7070 }
7171
72- public void stopEncounter (ASAPSimplePeer otherPeer ) throws IOException {
72+ public void stopEncounter (ASAPSimplePeerFS otherPeer ) throws IOException {
7373 this .socket .close ();
7474 }
7575
@@ -78,16 +78,21 @@ private void startSession() {
7878 @ Override
7979 public void run () {
8080 try {
81- ASAPSimplePeer .this .peer .handleConnection (
82- ASAPSimplePeer .this .socket .getInputStream (),
83- ASAPSimplePeer .this .socket .getOutputStream ());
81+ ASAPSimplePeerFS .this .peer .handleConnection (
82+ ASAPSimplePeerFS .this .socket .getInputStream (),
83+ ASAPSimplePeerFS .this .socket .getOutputStream ());
8484 } catch (IOException | ASAPException e ) {
85- ASAPSimplePeer .this .log ("fatal while connecting: " + e .getLocalizedMessage ());
85+ ASAPSimplePeerFS .this .log ("fatal while connecting: " + e .getLocalizedMessage ());
8686 }
8787 }
8888 }).start ();
8989 }
9090
91+ @ Override
92+ public CharSequence getPeerName () {
93+ return this .peer .getOwner ();
94+ }
95+
9196 @ Override
9297 public void chunkReceived (String format , String sender , String uri , int era ) throws IOException {
9398 StringBuilder sb = new StringBuilder ();
@@ -101,4 +106,9 @@ public void chunkReceived(String format, String sender, String uri, int era) thr
101106
102107 this .asapMessageReceivedListenerManager .notifyReceived (format , receivedMessages , true );
103108 }
109+
110+ @ Override
111+ public void onlinePeersChanged (ASAPPeer engine ) {
112+ this .environmentChangesListenerManager .notifyListeners (engine .getOnlinePeers ());
113+ }
104114}
0 commit comments